Conversor bidireccional de BSON y JSON
Convierte un objeto JSON en bytes BSON hexadecimales con encode, o un documento BSON hexadecimal completo en JSON con decode. Las longitudes y los números usan orden little-endian. Admite cadenas, booleanos, null, números double finitos, int32, int64, documentos anidados y matrices.
Acerca de conversor bidireccional de bson y json
Conversor bidireccional de BSON y JSON:Convierte un objeto JSON en bytes BSON hexadecimales con encode, o un documento BSON hexadecimal completo en JSON con decode. Las longitudes y los números usan orden little-endian. Admite cadenas, booleanos, null, números double finitos, int32, int64, documentos anidados y matrices.
Cómo funciona esta herramienta
Convierte un objeto JSON en bytes BSON hexadecimales con encode, o un documento BSON hexadecimal completo en JSON con decode. Las longitudes y los números usan orden little-endian. Admite cadenas, booleanos, null, números double finitos, int32, int64, documentos anidados y matrices.
Canalización de procesamiento y arquitectura técnica:
- Pega {"name":"CZOA","ok":true} en Entrada.
- Escribe encode en Segunda entrada / expresión y pulsa Ejecutar localmente.
- Compara Salida con el ejemplo de 25 bytes. Para invertir la conversión, pega esos bytes hexadecimales en Entrada, escribe decode en el segundo campo y vuelve a ejecutar.
Ejemplo y aplicación práctica
Escenario de aplicación práctica: Codificar un documento JSON admitido como BSON hexadecimal.
Entrada de muestra:
Procesamiento computacional: Codifica longitud, cadena y Boolean BSON en little-endian.
Salida ilustrativa:
Límites y casos especiales
El documento BSON puede ocupar hasta 16 MiB y tener 100 niveles, incluida la raíz. La entrada hexadecimal admite espacios ASCII, tabulaciones y saltos de línea. Rechaza campos duplicados, longitudes incorrectas, UTF-8 inválido, booleanos inválidos, índices de matriz no consecutivos y datos sobrantes. No admite los tipos BSON ObjectId, fecha, binario, regex ni Decimal128. Al codificar, acepta enteros JSON seguros entre −9007199254740991 y 9007199254740991: int32 cuando caben y, en otro caso, int64. Los valores fraccionarios usan binary64 y su redondeo. Rechaza el subdesbordamiento de valores distintos de cero y los números no finitos. Los int64 decodificados fuera del intervalo seguro se convierten en cadenas decimales; al volver a codificarlas se obtienen cadenas BSON y se pierde el tipo int64 original. La conversión JSON puede normalizar la escritura de números, el orden de campos y el ancho de los enteros; la ida y vuelta no garantiza bytes BSON idénticos. No interpreta MongoDB Extended JSON. Los objetos con $oid, $date o $numberLong son objetos JSON anidados comunes; esos nombres no crean valores BSON especiales. El ejemplo codifica {"name":"CZOA","ok":true} en un documento BSON de 25 bytes. Para invertirlo, pega todo el resultado hexadecimal y escribe decode en el segundo campo.
Procesamiento en el navegador y privacidad
La función de la herramienta está diseñada para procesar la entrada en el navegador sin enviarla intencionadamente a un servidor de procesamiento de CZOA. Las solicitudes de recursos del sitio, analítica o publicidad son independientes. El navegador, sus extensiones y el software administrado del dispositivo quedan fuera de este límite.
Ejecución local y metodología de verificación
El procesamiento de la carga útil de esta herramienta está diseñado para ejecutarse localmente en el navegador mediante JavaScript o Web Workers. Las solicitudes de recursos del sitio, análisis o publicidad son independientes. La confidencialidad, la repetibilidad y la latencia dependen del entorno del navegador y no se garantizan de forma absoluta.
Normas técnicas y especificaciones de conformidad
- BSON Specification 1.1 (supported JSON-compatible types only)
- RFC 8259 (JSON)
- IEEE 754 binary64; UTF-8
Responsable del contenido: CZOA Tools · Última revisión: 2026-09-15 · Metodología de revisión
Cómo se usa
- Pega {"name":"CZOA","ok":true} en Entrada.
- Escribe encode en Segunda entrada / expresión y pulsa Ejecutar localmente.
- Compara Salida con el ejemplo de 25 bytes. Para invertir la conversión, pega esos bytes hexadecimales en Entrada, escribe decode en el segundo campo y vuelve a ejecutar.
Preguntas frecuentes
¿Qué conversión BSON realiza esta página?+
Codifica valores JSON admitidos como un documento BSON hexadecimal o decodifica un documento hexadecimal completo. Longitudes y campos numéricos BSON usan little-endian.
¿Qué tipos BSON e límite de enteros muestra?+
Admite cadenas, Boolean, null, doubles finitos, int32, int64, documentos y matrices. Un int64 decodificado fuera de precisión segura de JavaScript se presenta como texto decimal.
¿La ida y vuelta BSON conserva bytes?+
No. Recodificar el texto decimal de un int64 inseguro crea BSON string; también pueden normalizarse orden de campos, escritura numérica y ancho entero.
¿Qué BSON inválido rechaza?+
Rechaza longitudes malformadas, UTF-8 inválido, campos duplicados, índices de matriz no secuenciales y bytes finales. Limita a 16 MiB y 100 niveles; ObjectId, fechas, binario, regex y Decimal128 quedan fuera.
