HeadlinesBriefing favicon HeadlinesBriefing.com

बाइनरी पैकिंग JSON को 80% कम करती है

Hacker News •
×

एक डेवलपर ने एक बाइनरी स्कीमा भाषा बनाई जो JSON लोड को 80% तक कम करती है। मूल ASCII कोडिंग से शुरू करके जहाँ हर कैरेक्टर एक बाइट लेता है, उन्होंने महसूस किया कि स्ट्रिंग के रूप में संख्याएँ जगह बर्बाद करती हैं—'104' 3 बाइट्स लेता है जबकि 1 बाइट लेना चाहिए। हल [TYPE][LENGTH][DATA] संरचना का उपयोग करता है, जिसमें हेडर में कंटिन्यूएशन बिट होता है जो वेरिएबल लेंथ एन्कोडिंग की अनुमति देता है। स्ट्रिंग्स [TYPE=1][LENGTH=11][DATA] बन जाती हैं, जबकि इंटीजर [TYPE=0][DATA=123] का उपयोग करते हैं। 127 से अधिक मानों के लिए, varint एन्कोडिंग MSB को कंटिन्यूएशन फ्लैग के रूप में उपयोग करता है और लिटल-एंडियन फॉर्मेट में 7-बिट सेगमेंट्स को जोड़ता है। यह दृष्टिकोण बिट-लेवल ऑप्टिमाइजेशन तकनीकों का उपयोग करके स्ट्रिंग्स और इंटीजर दोनों को कुशलतापूर्वक हैंडल करता है और ओवरहेड को कम करता है।