इमोटिकॉन्स U + xxxxx के प्रारूप का उपयोग करते हुए निर्दिष्ट किया गया है
जिसमें प्रत्येक x एक हेक्साडेसिमल अंक है।
उदाहरण के लिए, U + 1F615 है आधिकारिक यूनिकोड कंसोर्टियम कोड "उलझन भरा चेहरा" के लिए 😕
जैसा कि मैं अक्सर भ्रमित होता हूं, मेरे पास इस प्रतीक के लिए एक मजबूत आत्मीयता है।
U + 1F615 प्रतिनिधित्व मेरे लिए भ्रामक है, क्योंकि मैंने सोचा था कि केवल यूनिकोड वर्ण के लिए संभव एन्कोडिंग आवश्यक 8, 16, 24 या 32 बिट है, जबकि 5 हेक्स अंक 5x4 = 20 बिट की आवश्यकता है।
मैंने पाया है कि इस प्रतीक को बश में पूरी तरह से अलग हेक्स स्ट्रिंग द्वारा दर्शाया गया है:
$echo -n 😕 | hexdump
0000000 f0 9f 98 95
0000004
$echo -e "\xf0\x9f\x98\x95"
😕
$PS1=$'\xf0\x9f\x98\x95 >'
😕 >
मुझे U + 1F615 की उम्मीद थी कि वह \ x00 \ x01 \ xF6 \ x15 जैसी किसी चीज़ में परिवर्तित होगी ।
मैं इन 2 एनकोडिंग के बीच संबंध नहीं देखता हूं?
जब मैं आधिकारिक यूनिकोड कंसोर्टियम सूची में एक प्रतीक खोजता हूं, तो मैं सीधे इस थकाऊ फैशन में मैन्युअल रूप से परिवर्तित किए बिना उस कोड का उपयोग करने में सक्षम होना चाहूंगा। अर्थात
- कुछ वेब पेज पर प्रतीक ढूंढना
- इसे वेब ब्राउज़र के क्लिपबोर्ड पर कॉपी करना
- वास्तविक कोड की खोज करने के लिए एक हेक्सडम्प के माध्यम से प्रतिध्वनित करने के लिए इसे बैश में चिपकाना।
क्या मैं 32-बिट कोड का निर्धारण करने के लिए इस 20-बिट कोड का उपयोग कर सकता हूं?
क्या इन 2 नंबरों के बीच एक रिश्ता मौजूद है?
\U1F615
एक और वैध हेक्साडेसिमल अंक का पालन किया जाता है, तो इसे पलायन अनुक्रम का हिस्सा माना जाएगा। यह काम करने के लिए कि यह उसके बाद क्या है, इसके लिए पर्याप्त अग्रणी शून्य होने के लिए ठीक आठ अंक लंबा होना चाहिए:\U0001F615