Kodokon kodokon.com

उच्चारण चिह्न वाले वर्ण, UTF-8 और पंक्ति-अंत

समझें कि उच्चारण चिह्न कभी-कभी बिगड़कर क्यों दिखते हैं और अदृश्य पंक्ति-अंत अपने अंदर क्या छिपाए बैठे हैं।

7 मिनट · 3 प्रश्न

इस पाठ को Kodokon में खोलें

मशीन को पता ही नहीं होता कि अक्षर A क्या है। वह सिर्फ़ संख्याओं को संभालती है। इसलिए पाठ लिखने के लिए सबको एक मिलान तालिका पर सहमत होना पड़ा: संख्या 65 का अर्थ है A, 66 का अर्थ है B, और इसी तरह आगे। इस परंपरा को एन्कोडिंग कहते हैं। सबसे पुरानी एन्कोडिंग, ASCII, 1960 के दशक की है और उसमें सिर्फ़ अंग्रेज़ी वर्णमाला आती थी: न é, न ç, न ü, न देवनागरी का एक भी अक्षर, और न ही एक भी चीनी वर्ण।

फिर हर देश ने अपनी अलग तालिका बना ली, और अफ़रा-तफ़री मच गई: रूसी तालिका से खोली गई कोई फ़्रांसीसी फ़ाइल बेतुके अक्षरों का ढेर बनकर सामने आती थी। आधुनिक समाधान का नाम है Unicode, एक अकेली सूची जो हर भाषा के हर वर्ण को एक संख्या देती है, इमोजी समेत। और UTF-8 उन संख्याओं को फ़ाइल में लिखने का मानक तरीक़ा है। आज नियम सरल है और इसका कोई अपवाद नहीं: अपनी फ़ाइलें हमेशा UTF-8 में सहेजें

TEXT
UTF-8 में लिखा, UTF-8 में पढ़ा      ->  Creme brulee (चिह्न सही)
UTF-8 में लिखा, Latin-1 में पढ़ा    ->  Crème brûlée
Latin-1 में लिखा, UTF-8 में पढ़ा    ->  Cr?me br?l?e
वही फ़ाइल ग़लत तालिका से पढ़ी जाए तो बेतुके अक्षरों में बदल जाती है।

दूसरी अदृश्य चीज़: पंक्ति-अंत (line ending)। जब आप Enter दबाते हैं, तो फ़ाइल में कोई लकीर नहीं खिंचती। उसकी जगह एक या दो अदृश्य वर्ण जुड़ जाते हैं, और यहाँ भी सिस्टम आपस में कभी सहमत नहीं हुए। macOS और Linux एक ही वर्ण इस्तेमाल करते हैं, LF (line feed), जिसे \n लिखा जाता है। Windows लगातार दो वर्ण इस्तेमाल करता है, CRLF (carriage return फिर line feed), जिसे \r\n लिखा जाता है। यह सीधे टाइपराइटर की देन है, जहाँ दो अलग-अलग हरकतें करनी पड़ती थीं: गाड़ी को वापस पीछे धकेलना, फिर एक पंक्ति नीचे लुढ़काना।

TEXT
स्क्रीन पर आपको जो दिखता है:

नमस्ते
आप कैसे हैं

फ़ाइल में असल में क्या है:

macOS / Linux (LF)     नमस्ते\nआप कैसे हैं
Windows (CRLF)         नमस्ते\r\nआप कैसे हैं
स्क्रीन पर एक जैसी दिखने वाली दो फ़ाइलें, हक़ीक़त में दो अलग सामग्री।

ज्ञान जांच

सुनिश्चित करें कि आपको इस पाठ के मुख्य बिंदु याद हैं।

  1. जब é की जगह é दिखता है, तो असल में क्या हो रहा होता है?
    • फ़ाइल जिस एन्कोडिंग में लिखी गई थी, उससे अलग एन्कोडिंग में पढ़ी जा रही है
    • फ़ाइल ख़राब हो चुकी है और उसे दोबारा बनाना पड़ेगा
    • सिस्टम ने उच्चारण चिह्न हटा दिया है
    • फ़ॉन्ट मौजूद नहीं है
  2. Windows ऐतिहासिक रूप से कौन सा पंक्ति-अंत इस्तेमाल करता आया है?
    • CRLF
    • LF
    • अकेला CR
  3. अपने कोड एडिटर में कौन सी सेटिंग्स चुननी चाहिए?
    • एन्कोडिंग के लिए UTF-8 और पंक्ति-अंत के लिए LF
    • एन्कोडिंग के लिए ASCII और पंक्ति-अंत के लिए CRLF
    • एन्कोडिंग के लिए Latin-1 और पंक्ति-अंत के लिए CR