Articulo de referencia

Sonrisa (formato de intercambio de datos)

3a 29 0a \":)\\n\""},"genre":{"wt":"Data interchange"},"extended from":{"wt":"[[JSON]]"},"standard":{"wt":"no [[Request for Comments|RFC]] yet"},"url":{"wt":"{{URL|https://githu...

Smile es un formato de intercambio de datos informáticos basado en JSON . También puede considerarse una serialización binaria del modelo de datos JSON genérico, lo que significa que las herramientas que operan con JSON pueden usarse con Smile, siempre que exista un codificador/decodificador adecuado para la herramienta. El nombre proviene de los dos primeros bytes de la cabecera de cuatro bytes, que consisten en un emoticono ":)" seguido de un salto de línea: una elección realizada para facilitar el reconocimiento de archivos de datos codificados en Smile mediante herramientas de línea de comandos de texto.

Eficiencia

En comparación con JSON, Smile es más compacto y más eficiente de procesar (tanto para leer como para escribir). [ 1 ] Esto se debe en parte a una codificación binaria más eficiente (similar a BSON , CBOR y UBJSON ), pero una característica adicional es el uso opcional de referencias inversas para nombres y valores de propiedades. [ 2 ] Las referencias inversas permiten reemplazar nombres de propiedades y/o valores de cadena cortos (64 bytes o menos) con identificadores de referencia de 1 o 2 bytes.

Implementaciones

Entre las bibliotecas que apoyan el programa Smile se incluyen:

  • Cheshire (Clojure) es una biblioteca de codificación de datos que admite Smile como alternativa binaria a JSON.
  • Jackson (Java) con módulo de formato de datos binario compatible con Smile, Avro , CBOR , Ion y Protocol Buffers.
  • libsmile (C/C++; envoltorios para Ruby, Perl)
  • smile_ex para lenguajes beam, Erlang, Elixir y Gleam
  • go-smile para decodificar datos Smile en Golang
  • Protostuff (Java) admite múltiples formatos de datos para la serialización, incluidos Smile, JSON , XML y Protocol Buffers .
  • PySmile para codificar/decodificar datos Smile en Python
  • NewSmile para codificar/decodificar datos Smile en Python >= 3.7
  • smile-js para decodificar datos Smile desde JavaScript
  • serde_smile para codificar/decodificar datos desde Rust

Uso

Véase también

Referencias

  1. "JVM Serializer Benchmark (resultados)" . GitHub . Consultado el 7 de junio de 2014 .
  2. "Referencias de cadena compartidas en Smile" . Consultado el 7 de junio de 2014 .
  3. "Guía de Elasticsearch [ 8.16 ] " . Elastic . 22-03-2024 . Consultado el 22-11-2024 .
  • Especificación del formato de la sonrisa