Unicode एन्कोडर

ब्राउज़र में चलता है एन्कोडिंग

किसी भी टेक्स्ट को — अरबी, हिंदी और इमोजी सहित — JavaScript/JSON \uXXXX अनुक्रम, ES2015 \u{XXXXX} रूप, U+ कोड पॉइंट या न्यूमेरिक एंटिटी में एस्केप करें।

गोपनीयता: यह टूल पूरी तरह आपके ब्राउज़र में चलता है। आपका इनपुट कभी आपके डिवाइस से बाहर नहीं जाता।
टूल लोड हो रहा है…

Unicode और UTF-8 क्या हैं?

Unicode हर लिपि के हर कैरेक्टर को एक नंबर (कोड पॉइंट, जैसे अरबी अलिफ़ के लिए U+0627) देता है; UTF-8 वह एन्कोडिंग है जो उन नंबरों को एक से चार बाइट में बदलती है और वेब व JSON में डिफ़ॉल्ट है। ज़्यादातर "टूटे टेक्स्ट" वाले बग या तो UTF-8 बाइट सीक्वेंस का किसी और एन्कोडिंग में पढ़ा जाना हैं, या स्ट्रिंग का बाइट में गिना जाना जहाँ प्रोग्राम कैरेक्टर की उम्मीद करता था।

Unicode एन्कोडर कैसे इस्तेमाल करें

  1. कोई भी टेक्स्ट पेस्ट करें — अरबी, देवनागरी, इमोजी, एक्सेंट।
  2. अपनी भाषा या फ़ाइल फ़ॉर्मेट के अनुसार नोटेशन चुनें।
  3. पूरी तरह एस्केप की गई स्ट्रिंग के लिए "Escape ASCII too" (ASCII भी एस्केप करें) चालू करें।
  4. नतीजा कॉपी करें; अनपेक्षित चीज़ों के लिए कैरेक्टर तालिका देखें।

Unicode एन्कोडर की खूबियाँ

  • \uXXXX (JavaScript/JSON/Java), \u{…} (ES2015), U+ कोड पॉइंट, HTML न्यूमेरिक एंटिटी, CSS, Python और UTF-8 बाइट एस्केप
  • सिर्फ़ ग़ैर-ASCII कैरेक्टर एस्केप करें या सब कुछ
  • इमोजी तथा दूसरे एस्ट्रल कैरेक्टर के लिए सही सरोगेट पेयर
  • कोड पॉइंट, स्क्रिप्ट, श्रेणी, UTF-8 और UTF-16 बाइट वाली कैरेक्टर तालिका
  • कोड पॉइंट, UTF-16 यूनिट और UTF-8 बाइट गिनता है

Unicode एन्कोडर का उदाहरण

JSON के लिए इमोजी एस्केप करना

इनपुट:

Go 🚀

आउटपुट:

Go \ud83d\ude80

Unicode एन्कोडर के बारे में अक्सर पूछे जाने वाले सवाल

इमोजी दो \u एस्केप में क्यों बदल जाता है?

JSON और पुराने JavaScript एस्केप UTF-16 कोड यूनिट को संबोधित करते हैं। U+FFFF से ऊपर के कैरेक्टर, जैसे 🚀 (U+1F680), सरोगेट पेयर के रूप में रखे जाते हैं — \ud83d\ude80। \u{1F680} रूप (ES2015) कोड पॉइंट सीधे लिखता है।

JSON कौन-सा फ़ॉर्मेट स्वीकार करता है?

सिर्फ़ ठीक चार hex अंकों वाला \uXXXX (एस्ट्रल कैरेक्टर के लिए सरोगेट पेयर)। \u{…} JavaScript सोर्स में मान्य है, पर JSON में नहीं।

U+ नोटेशन किसलिए है?

डॉक्युमेंटेशन और बग रिपोर्ट में कोड पॉइंट का नाम बताने का यह मानक तरीक़ा है (जैसे U+0645 ARABIC LETTER MEEM)। यह स्ट्रिंग एस्केप नहीं है।

कैरेक्टर तालिका क्या दिखाती है?

हर ग़ैर-ASCII कैरेक्टर को उसके कोड पॉइंट, स्क्रिप्ट और सामान्य श्रेणी, UTF-8 बाइट तथा UTF-16 यूनिट के साथ — एक जैसे दिखने वाले कैरेक्टर, zero-width joiner और संयोजक चिह्न पकड़ने के लिए बहुत काम का।

तकनीकी नोट्स

JavaScript स्ट्रिंग UTF-16 कोड यूनिट के अनुक्रम होते हैं, इसलिए U+FFFF से ऊपर के कैरेक्टर के लिए पुराने \u एस्केप को दो यूनिट चाहिए। टूल सरोगेट पेयर गणित से निकालता है (((cp − 0x10000) >> 10) + 0xD800, ((cp − 0x10000) & 0x3FF) + 0xDC00) और जब हर कोड पॉइंट के लिए एक ही एस्केप चाहिए हो तो ES2015 वाला \u{…} सिंटैक्स देता है।

संदर्भ

  • The Unicode StandardUnicode Consortiumसार्वभौमिक कैरेक्टर सेट और उसके एन्कोडिंग रूप (UTF-8, UTF-16, UTF-32), नॉर्मलाइज़ेशन और हर कोड पॉइंट के गुण।
  • RFC 3629: UTF-8, a transformation format of ISO 10646IETF · 2003UTF-8 में कोड पॉइंट एक से चार बाइट में कैसे एन्कोड होते हैं, और कौन-सी बाइट सीक्वेंस अमान्य हैं।