- 20 साल पहले Joel ने "Plain Text जैसी कोई चीज़ नहीं होती" कहते हुए ज़ोर दिया था कि encoding को ज़रूर समझना चाहिए
- Unicode वह मानक है जो सभी मानव भाषाओं को कंप्यूटर पर इस्तेमाल करने योग्य बनाने के लिए एकीकृत करता है
- यह एक code point system है जो अलग-अलग अक्षरों को एक unique number आवंटित करता है
- सबसे बड़ा code point 0x10FFFF है, जो लगभग 11 लाख code points की जगह देता है
- UTF-8 सबसे आम encoding है, और 98% संभावना है कि वही इस्तेमाल हो रही हो
- UTF-8 एक variable-length encoding है, जिसमें code point को 1 से 4 bytes की sequence में encode किया जा सकता है
- UTF-8, ASCII के साथ byte compatibility रखता है और basic Latin के लिए space-efficient है
- UTF-8 में built-in error detection और recovery features होते हैं, इसलिए complete और valid UTF-8 byte sequences की पहचान की जा सकती है
- extended grapheme cluster, या grapheme, वह unit है जिस पर iterate किया जाना चाहिए, code point पर नहीं
- Unicode हर साल update होता है, और grapheme cluster को परिभाषित करने वाले नियम भी हर साल बदलते हैं
- Unicode locale के अनुसार अलग तरह से render हो सकता है
- Unicode में surrogate pair दो UTF-16 units होते हैं जिनका उपयोग एक single Unicode code point को encode करने के लिए किया जाता है
- UTF-16 कुछ systems में अब भी in-memory representation के रूप में इस्तेमाल होता है
- Unicode strings की तुलना करने से पहले उन्हें normalize किया जाना चाहिए
- लेख इस बात पर ज़ोर देता है कि
strlen, indexOf, substring जैसे बुनियादी operations के लिए भी Unicode library का इस्तेमाल कितना महत्वपूर्ण है
3 टिप्पणियां
"♂️".lengthके मामले में, Python 3.11 में यह 1 लौटाता है।इमोजी कमेंट में टूटा हुआ दिख रहा है
Hacker News टिप्पणियाँ