इमोजी से Unicode कन्वर्टर
कोई इमोजी, या इमोजी वाला पूरा वाक्य पेस्ट करें, और हर वह फ़ॉर्मेट पाएँ जिसकी किसी डेवलपर को ज़रूरत होती है: Unicode कोड पॉइंट, HTML entity, CSS और JavaScript escape, Python, और कच्चे UTF-8 बाइट। यह उल्टी दिशा में भी काम करता है। सब कुछ आपके ब्राउज़र में चलता है, और लंबाई काउंटर दिखाता है कि एक ही इमोजी किसी एक भाषा में सात कैरेक्टर और किसी दूसरी में अट्ठाईस बाइट क्यों गिना जा सकता है।
- दिखने वाले कैरेक्टर
- 3
- कोड पॉइंट (Python len)
- 6
- UTF-16 यूनिट (JS .length)
- 10
- UTF-8 बाइट
- 22
| Unicode कोड पॉइंट | U+1F44D U+1F3FD U+2764 U+FE0F U+1F1EF U+1F1F5 | |
|---|---|---|
| HTML entity (hex) | 👍🏽❤️🇯🇵 | |
| HTML entity (decimal) | 👍🏽❤️🇯🇵 | |
| CSS content | \1F44D \1F3FD \2764 \FE0F \1F1EF \1F1F5 | |
| JavaScript (ES6) | \u{1F44D}\u{1F3FD}\u2764\uFE0F\u{1F1EF}\u{1F1F5} | |
| UTF-16 (Java, C#, JSON) | \uD83D\uDC4D\uD83C\uDFFD\u2764\uFE0F\uD83C\uDDEF\uD83C\uDDF5 | |
| Python | \U0001F44D\U0001F3FD\u2764\uFE0F\U0001F1EF\U0001F1F5 | |
| UTF-8 बाइट | F0 9F 91 8D F0 9F 8F BD E2 9D A4 EF B8 8F F0 9F 87 AF F0 9F 87 B5 | |
| URL एनकोडेड | %F0%9F%91%8D%F0%9F%8F%BD%E2%9D%A4%EF%B8%8F%F0%9F%87%AF%F0%9F%87%B5 |
आठ इमोजी, चार अलग लंबाइयाँ
नीचे की हर पंक्ति स्क्रीन पर एक इमोजी है। बाकी कॉलम दिखाते हैं कि अलग-अलग भाषाएँ और डेटाबेस क्या गिनते हैं, और इन्हें ऊपर वाले टूल के ही कन्वर्टर से निकाला गया है।
| इमोजी | कोड पॉइंट | दिखने में | Python | JavaScript | UTF-8 बाइट |
|---|---|---|---|---|---|
| 😀एक कोड पॉइंट | U+1F600 | 1 | 1 | 2 | 4 |
| ❤️टेक्स्ट सिंबल और स्टाइल सिलेक्टर | U+2764 U+FE0F | 1 | 2 | 2 | 6 |
| 👍🏽इमोजी और स्किन टोन | U+1F44D U+1F3FD | 1 | 2 | 4 | 8 |
| 🇯🇵दो regional indicator अक्षर | U+1F1EF U+1F1F5 | 1 | 2 | 4 | 8 |
| 👩💻zero width joiner से जुड़ा हुआ | U+1F469 U+200D U+1F4BB | 1 | 3 | 5 | 11 |
| 1️⃣अंक, सिलेक्टर और कीकैप | U+0031 U+FE0F U+20E3 | 1 | 3 | 3 | 7 |
| 🏴टैग सीक्वेंस | U+1F3F4 U+E0067 U+E0062 U+E0073 U+E0063 U+E0074 U+E007F | 1 | 7 | 14 | 28 |
| Emoji 18.0 (2026) | U+1FAFA | 1 | 1 | 2 | 4 |
एक इमोजी सात कैरेक्टर लंबा कैसे हो सकता है
कोड पॉइंट वे संख्याएँ हैं जो Unicode तय करता है, और एक इमोजी इनमें से कई से मिलकर बन सकता है। स्कॉटलैंड का झंडा इसका सबसे साफ़ उदाहरण है: एक काला झंडा, gbsct लिखने वाले पाँच अदृश्य टैग अक्षर, और एक cancel tag, कुल सात कोड पॉइंट। JavaScript टेक्स्ट को UTF-16 में स्टोर करता है, जहाँ U+FFFF से ऊपर की हर चीज़ दो यूनिट लेती है, इसलिए उसी झंडे की .length 14 होती है। UTF-8 इनमें से हर कोड पॉइंट पर चार बाइट खर्च करता है, इसलिए डेटाबेस में यह 28 बाइट लेता है। सिर्फ़ एक संख्या उससे मेल खाती है जो इंसान को दिखता है, और ज़्यादातर कोड वही संख्या कभी नहीं पूछता। JavaScript में Intl.Segmenter से granularity को grapheme पर सेट करके गिनें; Python में थर्ड-पार्टी regex मॉड्यूल का \X पैटर्न यही काम करता है।
MySQL में इमोजी को प्रश्नचिह्न बने बिना कैसे स्टोर करें
अगर सेव करने के बाद इमोजी ???? बन जाते हैं, तो लगभग तय है कि कॉलम MySQL का utf8 कैरेक्टर सेट इस्तेमाल कर रहा है, जो अपने नाम के बावजूद हर कैरेक्टर के लिए ज़्यादा से ज़्यादा तीन बाइट स्टोर करता है। U+FFFF से ऊपर के हर इमोजी को चार चाहिए, इसलिए insert या तो फ़ेल हो जाता है या डेटा खो देता है। हल utf8mb4 है: टेबल को ALTER TABLE ... CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci से बदलें, और पक्का करें कि कनेक्शन भी utf8mb4 इस्तेमाल करे, क्योंकि utf8 कनेक्शन के पीछे सही टेबल भी टेक्स्ट बिगाड़ देती है। MySQL 8.0 ने utf8mb4 को डिफ़ॉल्ट बना दिया, इसलिए यह दिक्कत ज़्यादातर उन पुराने डेटाबेस में आती है जिन्हें नए सिरे से बनाने के बजाय अपग्रेड किया गया।
HTML entity, CSS और आखिर में आने वाला स्पेस
UTF-8 में सर्व होने वाले पेज पर, जो लगभग सभी होते हैं, आप इमोजी सीधे HTML में पेस्ट कर सकते हैं; 👍 जैसी entity की ज़रूरत तभी पड़ती है जब कोई टेम्पलेट या ईमेल सिस्टम कच्चे कैरेक्टर बिगाड़ देता है। CSS ज़्यादा नखरीली है। content property में \1F44D जैसा escape तब तक चलता है जब तक कोई ऐसा कैरेक्टर न आए जो hex न हो, इसलिए अगर अगला कैरेक्टर hex के रूप में पढ़ा जा सकता है, तो आपको escape को एक स्पेस से खत्म करना होगा। वह स्पेस निगल लिया जाता है, छपता नहीं। हमारी CSS पंक्ति में यह हमेशा कोड पॉइंट के बीच रहता है, इसीलिए स्किन टोन वाला थम्ब्स अप \1F44D \1F3FD के रूप में आता है, और बीच का गैप जान-बूझकर रखा गया है।
X हर इमोजी को दो कैरेक्टर क्यों गिनता है
कैरेक्टर लिमिट एक और जगह है जहाँ गिनतियाँ अलग हो जाती हैं। X की ओपन सोर्स काउंटिंग लाइब्रेरी ज़्यादातर इमोजी को 280 की सीमा में दो कैरेक्टर गिनती है, चाहे वे किसी से भी बने हों, इसलिए 👍 और 👩💻 की कीमत बराबर है, भले ही एक अकेला कोड पॉइंट है और दूसरा तीन। SMS और सख्त है: एक इमोजी पूरे मैसेज को UCS-2 एनकोडिंग में डाल देता है, जिससे एक मैसेज की सीमा 160 कैरेक्टर से घटकर 70 रह जाती है। अगर कोई फ़ॉर्म, डेटाबेस कॉलम या सोशल प्लेटफ़ॉर्म छोटा दिखने वाला टेक्स्ट ठुकरा दे, तो ऊपर की लंबाई वाली टेबल आम तौर पर वजह बता देती है।
इमोजी शब्दावली: कोड पॉइंट, जॉइनर और सिलेक्टरSlack, Discord और GitHub के लिए इमोजी शॉर्टकोडकॉपी करने के लिए हर इमोजी
इमोजी कोड पॉइंट के बारे में सवाल
स्माइली इमोजी का Unicode क्या है?
😀 grinning face U+1F600 है। HTML में 😀 लिखें, CSS में \1F600, JavaScript में \u{1F600} या पुराना \uD83D\uDE00, और Python में \U0001F600। किसी दूसरे इमोजी के कोड के लिए उसे कन्वर्टर में पेस्ट करें।
एक इमोजी में दो कोड पॉइंट क्यों होते हैं?
कई इमोजी सीक्वेंस होते हैं। ❤️ दिल का सिंबल U+2764 और स्टाइल सिलेक्टर U+FE0F है, 👍🏽 थम्ब्स अप और एक स्किन टोन है, और झंडे दो अक्षर होते हैं। आपका डिवाइस पूरे सीक्वेंस को एक तस्वीर के रूप में दिखाता है।
\u{1F600} और \uD83D\uDE00 में क्या अंतर है?
दोनों एक ही इमोजी हैं। \u{1F600} सीधे कोड पॉइंट बताता है और आधुनिक JavaScript में काम करता है। \uD83D\uDE00 UTF-16 surrogate pair है, जो U+FFFF से ऊपर के कैरेक्टर के लिए पुराने JavaScript, Java, C# और JSON में स्वीकार होने वाला इकलौता रूप है।
एक इमोजी कितने बाइट का होता है?
UTF-8 में U+FFFF से ऊपर के हर कोड पॉइंट के लिए चार बाइट, इसलिए 😀 जैसा सादा इमोजी चार बाइट का है। सीक्वेंस में ये जुड़ते जाते हैं: 👍🏽 8 बाइट का है, 👩💻 11 का और स्कॉटलैंड का झंडा 28 का।
क्या यह कन्वर्टर मेरा टेक्स्ट कहीं भेजता है?
नहीं। कन्वर्ज़न पूरी तरह आपके ब्राउज़र में JavaScript से चलता है। आप जो भी टाइप या पेस्ट करते हैं, वह न अपलोड होता है, न स्टोर।
