Primitivas de serialización binaria portátil C

Hasta donde sé, la biblioteca C no proporciona ayuda para serializar valores numéricos en una secuencia de bytes que no sea de texto. Corrígeme si me equivoco.

La herramienta más estándar en uso eshtonl et al de POSIX. Estas funciones tienen deficiencias:

No hay soporte de 64 bits.No hay soporte de punto flotante.No hay versiones para tipos firmados. Al realizar la deserialización, la conversión de no firmado a firmado se basa en un desbordamiento integral firmado, que es UB.Sus nombres no indican el tamaño del tipo de datos.Dependen de los bytes de 8 bits y la presencia de uint_ de tamaño exactoN_t.Los tipos de entrada son los mismos que los tipos de salida, en lugar de referirse a un flujo de bytes.Esto requiere que el usuario realice una transmisión de tipo de puntero que posiblemente no sea seguro en la alineación.Una vez realizado ese encasillado, es probable que el usuario intente convertir y generar una estructura en su diseño de memoria nativa, una mala práctica que produce errores inesperados.

Una interfaz para serializar tamaño arbitrariochar los bytes estándar de 8 bits caerían entre el estándar C, que en realidad no reconoce los bytes de 8 bits, y los estándares (ITU?) establecen el octeto como la unidad fundamental de transmisión. Pero los estándares más antiguos no están siendo revisados.

Ahora que C11 tiene muchos componentes opcionales, se podría agregar una extensión de serialización binaria junto con elementos como subprocesos sin necesidad de realizar implementaciones existentes.

¿Sería útil una extensión de este tipo, o se preocupa por las máquinas que no son de complemento a dos, simplemente eso no tiene sentido?

Respuestas a la pregunta(3)

Su respuesta a la pregunta