Saltar al contenido

ASN.1 vs JSON, ¿cuándo es apropiado usarlos?

Estate atento ya que en este artículo hallarás el hallazgo que buscas.

Solución:

ASN.1 y JSON no son estrictamente comparables. JSON es un formato de datos. ASN.1 es un lenguaje de esquema más varios conjuntos de reglas de codificación, cada uno de los cuales produce diferentes formatos de datos para un esquema determinado. Entonces, la pregunta original es algo paralela a la pregunta “Esquema XML vs. XML: ¿cuándo es apropiado usarlos?” Una comparación más justa sería entre ASN.1 y JSON Schema.

Dicho esto, algunos puntos a considerar:

  • ASN.1 tiene reglas de codificación binaria. Considere si la codificación binaria o de texto es preferible para su aplicación.
  • ASN.1 también tiene reglas de codificación XML y JSON. Puede optar por ir con una codificación basada en texto usando ASN.1, si lo desea.
  • ASN.1 permite desarrollar otras reglas de codificación. Antes de que ITU-T especificara las reglas de codificación para JSON, especificamos nuestras propias reglas para codificar ASN.1 a JSON. Escribí un blog sobre esto en el sitio web de nuestra empresa aquí
  • Al igual que con XML Schema, existen herramientas para compilar ASN.1. Estos se conocen comúnmente como herramientas de enlace de datos. La salida del compilador consta de estructuras de datos para contener sus datos y código para codificar/descodificar hacia/desde las diversas codificaciones (binario, XML, JSON).
  • No estoy seguro de qué herramientas de enlace de datos existen, si las hay, para el esquema JSON. Tampoco estoy seguro de qué tan maduro/estable es JSON Schema, mientras que ASN.1 es bastante maduro y estable.
  • Al elegir entre JSON Schema y ASN.1, tenga en cuenta que JSON Schema está vinculado a JSON, mientras que ASN.1 no está vinculado a ninguna representación en particular.

Puede usar ASN.1 independientemente de si necesita serializar mensajes que podrían ir a un destinatario usando C, C++, C#, Java o cualquier otro lenguaje de programación con motor codificador/descodificador ASN.1. ASN.1 también proporciona múltiples reglas de codificación que tienen beneficios en diferentes circunstancias. Por ejemplo, DER se usa cuando una codificación canónica es crucial, como en los certificados digitales, mientras que PER se usa cuando el ancho de banda es crítico, como en los protocolos celulares, y E-XER se usa cuando no le importa el ancho de banda y le gustaría para mostrar una codificación en XML para su manipulación en un navegador o intercambiar mensajes con un motor de esquema XML.

Tenga en cuenta que con una buena herramienta ASN.1, no tiene que cambiar el código de su aplicación para alternar entre estas reglas de codificación ASN.1. Una simple llamada de función puede seleccionar las reglas de codificación que le gustaría usar.

Si para ti ha resultado útil este artículo, sería de mucha ayuda si lo compartes con el resto programadores y nos ayudes a extender nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *