HeadlinesBriefing favicon HeadlinesBriefing.com

Packing binaire réduit JSON de 80%

Hacker News •
×

Un développeur a créé un langage de schéma binaire qui réduit les charges JSON de 80%. En commençant par l'encodage ASCII de base où chaque caractère prend un octet, il a constaté que les nombres stockés sous forme de chaînes gaspillaient de l'espace—'104' utilise 3 octets au lieu de 1. La solution utilise une structure [TYPE][LENGTH][DATA], avec un bit de continuation dans l'en-tête permettant une encodage de longueur variable.

Les chaînes deviennent [TYPE=1][LENGTH=11][DATA], tandis que les entiers utilisent [TYPE=0][DATA=123]. Pour les valeurs supérieures à 127, une encodage varint utilise le MSB comme drapeau de continuation, combinant des segments de 7 bits en format little-endian. Cette approche traite efficacement les chaînes et les entiers tout en minimisant la surcharge grâce à des techniques d'optimisation au niveau du bit.