मुझे UTF-8 और इसके अन्य वेरिएंट के बीच के रिश्ते की समझ नहीं है और टर्मिनल पर विसंगतिपूर्ण परिणाम मिल रहे हैं। उदाहरण के लिए, दाहिना तीर है:
0xE2 0x86 0x92
UTF-8 में
लकिन यह है
0x2192
UTF-16 में UTF-16 और यूनिकोड में
मुझे समझ में नहीं आता है कि E28692 2192 के बराबर कैसे है।
इसके अलावा, यूटीएफ -8 संस्करण मेरे लिनक्स टर्मिनल में काम नहीं कर रहा है, जो यूजेड -8 एन्कोडिंग का उपयोग डीज़ावू फ़ॉन्ट के साथ कर रहा है जो यूनिकोड का समर्थन करता है। उदाहरण के लिए, यदि मैं प्रवेश करता हूं
echo -e "\u2192"
तब मुझे एक तीर मिलता है, महान, सही, यह काम करता है। लेकिन, अगर मैं प्रवेश करता हूं
echo -e "\xe2\x86\x92"
या
echo -e "\x00\x00\x21\x92"
फिर मुझे गलत ग्राफिक्स मिलते हैं। मेरे हेक्स अनुक्रम गलत क्यों हैं?
I don't understand how E28692 is equivalent to 2192.
वह कथन अमान्य है। समस्या यह है कि एक दूसरे के बराबर नहीं है , बल्कि एक दूसरे को मैप किया जाता है। दुर्भाग्य से, मैं अभी भी एक नुकसान में हूँ कि क्या किसी प्रकार का फॉर्मूला मैपिंग फ़ंक्शन है, या यदि यह सिर्फ कुछ विशाल लुक-अप टेबल है। जो मैं बता सकता हूं, उसमें से कुछ तर्क प्रतीत होते हैं (हालांकि यह एक अच्छा, आसान नहीं है)।