Esta es una comparación de formatos de serialización de datos , diversas formas de convertir objetos complejos en secuencias de bits . No incluye lenguajes de marcado utilizados exclusivamente como formatos de archivo de documentos .
Descripción general
- ^ El formato predeterminado actual es binario.
- ^ El formato "clásico" es texto plano, y también se admite el formato XML.
- ^ Teóricamente posible debido a la abstracción, pero no se incluye ninguna implementación.
- ^ El formato principal es binario, pero también están disponibles los formatos de texto y JSON. [ 8 ] [ 9 ]
- ^ Significa que las herramientas/bibliotecas genéricas saben cómo codificar, decodificar y desreferenciar una referencia a otro dato en el mismo documento. Una herramienta puede requerir elIDL, pero nada más. Excluye las técnicas de referencia personalizadas y no estandarizadas.
- ^ ASN.1 cuenta con X.681 (Sistema de Objetos de Información), X.682 (Restricciones) y X.683 (Parametrización) que permiten la especificación precisa de tipos abiertos donde los tipos de valores se pueden identificar mediante enteros,OID, etc. Los OID son un formato estándar para identificadores únicos globales, así como una notación estándar ("referencia absoluta") para referenciar un componente de un valor. Por ejemplo, PKIX utiliza dicha notación en RFC 5912. Con esta notación (restricciones en tipos parametrizados mediante conjuntos de objetos de información), las herramientas/bibliotecas genéricas de ASN.1 pueden codificar/decodificar/resolver automáticamente referencias dentro de un documento.
- ^ El formato principal es binario, hay disponible un codificador JSON. [ 10 ]
- ^ El formato principal es binario, pero también está disponible un formato de texto.
Comparación sintáctica de formatos legibles por humanos
- Los elementos XML omitidos suelen ser decodificados como valores nulos porde enlace de datos XML. Aquí se muestra otra posible codificación;el esquema XMLno define una codificación para este tipo de datos.
- ^ La especificación RFC CSV solo trata de delimitadores, saltos de línea y caracteres de comillas; no trata directamente de la serialización deestructuras de datos.
- La especificación netstrings solo trata concadenas de bytesanidadas; cualquier otra cosa está fuera del alcance de la especificación.
- ^ PHP deserializará correctamente cualquier número de punto flotante, pero los serializará a su expansión decimal completa. Por ejemplo, 3.14 se serializará a3.140 000 000 000 000 124 344 978 758 017 532 527 446 746 826 171 875 .
- Las herramientas de serialización SOAP yde enlace de datos XMLproporcionan una serialización XML segura en cuanto a tipos deestructuras de datosde. Aquí se muestran los valores XML que se pueden colocar en elementos y atributos XML.
- ^ Esta sintaxis no es compatible con el borrador de Internet, pero la utilizan algunos dialectos deLisp.
Comparación de formatos binarios
- ^ Cualquier representación basada en XML puede comprimirse o generarse utilizando EXI – "Formato de intercambio XML eficiente (EXI) 1.0 (Segunda edición)" .[ 17 ] – que es un estándar de compresión binaria "informado por esquema" (a diferencia de uno que requiere esquema o es sin esquema) para XML.
- ^ Todos los tipos básicos de Ion tienen una variante nula, como su etiqueta 0xXf. Cualquier etiqueta que comience con 0x0X que no sea 0x0f define un relleno ignorado.
- La interpretación de Netstrings depende totalmente de la aplicación o del esquema.
Véase también
Referencias
- ^ Ahorro Apache
- ^ Bormann, Carsten (26-12-2018). "Relación de CBOR con msgpack" . GitHub . Recuperado el 14-08-2023 .
- ^ "Implementaciones" . GitHub .
- ^ "HAPI FHIR: la API FHIR de código abierto para Java" . hapifhir.io .
- ^ cpython/Lib/pickle.py
- ^ "Una breve historia de SOAP" . www.xml.com .
- ^ Ben-Kiki, Oren; Evans, Clark; Net, Ingy döt (2009-10-01). "YAML Ain't Markup Language (YAML) Version 1.2" . El sitio web oficial de YAML . Recuperado el 10 de febrero de 2012 .
- ^ "text_format.h - Protocol Buffers" . Desarrolladores de Google .
- ^ "Mapeo JSON - Protocol Buffers" . Desarrolladores de Google .
- ^ "Formato Avro Json" .
- ^ "Documentación de la clase NSPropertyListSerialization" . www.gnustep.org . Archivado del original el 19 de mayo de 2011. Consultado el 28 de octubre de 2009 .
- ^ "Archivo de documentación" . developer.apple.com .
- ^ Oren Ben-Kiki; Clark Evans; Brian Ingerson (18 de enero de 2005). "Tipo nulo independiente del lenguaje para YAML versión 1.1" . YAML.org . Consultado el 12 de septiembre de 2009 .
- ^ a b Oren Ben-Kiki; Clark Evans; Brian Ingerson (18 de enero de 2005). "Tipo booleano independiente del lenguaje para YAML versión 1.1" . YAML.org . Clark C. Evans . Consultado el 12 de septiembre de 2009 .
- ^ Oren Ben-Kiki; Clark Evans; Brian Ingerson (11 de febrero de 2005). "Tipo de entero independiente del lenguaje para YAML versión 1.1" . YAML.org . Clark C. Evans . Consultado el 12 de septiembre de 2009 .
- ^ Oren Ben-Kiki; Clark Evans; Brian Ingerson (18 de enero de 2005). "Tipo independiente del lenguaje de punto flotante para YAML versión 1.1" . YAML.org . Clark C. Evans . Consultado el 12 de septiembre de 2009 .
- ^ "Intercambio extensible eficiente" .
- ^ Codificación binaria de iones
- ^ "MessagePack es una biblioteca de serialización de objetos extremadamente eficiente. Es como JSON, pero muy rápida y pequeña: msgpack/msgpack" . 2 de abril de 2019 – vía GitHub.
Enlaces externos
- Propuesta XML-QL que analiza los beneficios de XML.
- Atreverse a hacer menos con XML
Categorías :
- formatos de serialización de datos
- Persistencia
- Comparaciones de cálculos