Conversor bidirecional de BSON e JSON
Converte um objeto JSON em bytes BSON hexadecimais com encode, ou um documento BSON hexadecimal completo em JSON com decode. Comprimentos e números usam a ordem little-endian. Aceita strings, booleanos, null, doubles finitos, int32, int64, documentos aninhados e arrays.
Sobre conversor bidirecional de bson e json
Conversor bidirecional de BSON e JSON:Converte um objeto JSON em bytes BSON hexadecimais com encode, ou um documento BSON hexadecimal completo em JSON com decode. Comprimentos e números usam a ordem little-endian. Aceita strings, booleanos, null, doubles finitos, int32, int64, documentos aninhados e arrays.
Como esta ferramenta funciona
Converte um objeto JSON em bytes BSON hexadecimais com encode, ou um documento BSON hexadecimal completo em JSON com decode. Comprimentos e números usam a ordem little-endian. Aceita strings, booleanos, null, doubles finitos, int32, int64, documentos aninhados e arrays.
Pipeline de processamento e arquitetura técnica:
- Cole {"name":"CZOA","ok":true} em Entrada.
- Defina Segunda entrada / expressão como encode e clique em Executar localmente.
- Compare Saída com o exemplo de 25 bytes. Para inverter a conversão, cole esses bytes hexadecimais em Entrada, use decode no segundo campo e execute novamente.
Exemplo e aplicação prática
Cenário de aplicação prática: Codificar um documento JSON aceito em BSON hexadecimal.
Entrada de amostra:
Processamento computacional: Codifica comprimento, string e Boolean BSON em little-endian.
Saída ilustrativa:
Limites e casos especiais
O documento BSON pode ter até 16 MiB e 100 níveis, incluindo a raiz. A entrada hexadecimal aceita espaços ASCII, tabulações e quebras de linha. Rejeita campos duplicados, comprimentos incorretos, UTF-8 inválido, booleanos inválidos, índices de array não sequenciais e dados excedentes. Não aceita os tipos BSON ObjectId, data, binário, regex ou Decimal128. A codificação aceita inteiros JSON seguros entre −9007199254740991 e 9007199254740991: int32 quando couberem e int64 nos demais casos. Valores fracionários usam binary64 e seu arredondamento. Rejeita valores não nulos reduzidos a zero por subfluxo e números não finitos. Valores int64 decodificados fora do intervalo seguro viram strings decimais; recodificá-las produz strings BSON, sem preservar o tipo int64 original. A conversão JSON pode normalizar a escrita dos números, a ordem dos campos e a largura dos inteiros; a ida e volta não garante bytes BSON idênticos. Não interpreta MongoDB Extended JSON. Objetos com $oid, $date ou $numberLong são objetos JSON aninhados comuns; esses nomes não criam valores BSON especiais. O exemplo codifica {"name":"CZOA","ok":true} em um documento BSON de 25 bytes. Para inverter, cole todo o resultado hexadecimal e coloque decode no segundo campo.
Processamento no navegador e privacidade
A função da ferramenta foi projetada para processar a entrada no navegador sem enviá-la intencionalmente a um servidor de processamento do CZOA. Solicitações de recursos do site, análises ou publicidade são independentes. O navegador, suas extensões e o software gerenciado do dispositivo ficam fora desse limite.
Execução local e metodologia de verificação
O processamento da carga útil desta ferramenta foi projetado para ocorrer localmente no navegador por meio de JavaScript ou Web Workers. Solicitações de recursos do site, análises ou publicidade são independentes. Confidencialidade, repetibilidade e latência dependem do ambiente do navegador e não são garantidas de forma absoluta.
Normas técnicas e especificações de conformidade
- BSON Specification 1.1 (supported JSON-compatible types only)
- RFC 8259 (JSON)
- IEEE 754 binary64; UTF-8
Responsável pelo conteúdo: CZOA Tools · Última revisão: 2026-09-15 · Metodologia de revisão
Como usar
- Cole {"name":"CZOA","ok":true} em Entrada.
- Defina Segunda entrada / expressão como encode e clique em Executar localmente.
- Compare Saída com o exemplo de 25 bytes. Para inverter a conversão, cole esses bytes hexadecimais em Entrada, use decode no segundo campo e execute novamente.
Perguntas frequentes
Que conversão BSON esta página faz?+
Codifica valores JSON aceitos em um documento BSON hexadecimal ou decodifica um documento hexadecimal completo. Comprimentos e campos numéricos BSON usam little-endian.
Quais tipos BSON e limite de inteiro aparecem?+
Aceita strings, booleanos, null, doubles finitos, int32, int64, documentos e arrays. Um int64 decodificado fora da precisão segura do JavaScript aparece como texto decimal.
A ida e volta BSON preserva bytes?+
Não. Recodificar o texto decimal de um int64 inseguro cria uma BSON string; ordem de campos, escrita numérica e largura do inteiro também podem ser normalizadas.
Que BSON inválido é rejeitado?+
Rejeita comprimentos malformados, UTF-8 inválido, campos duplicados, índices de array não sequenciais e bytes finais. Limita 16 MiB e 100 níveis; ObjectId, data, binário, regex e Decimal128 ficam fora.
