यूनिकोड एन्कोडिंग का उपयोग क्या है ओएस आधारित नहीं है।
यहां तक कि विंडोज notepad.exe में सूचीबद्ध विकल्प हैं- (मैं उस ब्रैकेट में डालूंगा जिसका नोटपैड का अर्थ है) एएनएसआई (यूनिकोड नहीं), यूनिकोड (नोटपैड का अर्थ यूनिकोड ले), यूनिकोड बिग एंडियन (बीई), यूटीएफ -8 है
एएनएसआई यूनिकोड नहीं है, इसमें बहुत सीमित संख्या में वर्ण शामिल हैं जिससे कि इसे अलग रखा जा सके।
लेकिन यह भी देखें कि नोटपैड ले, या बीई, या यूटीएफ -8 कर सकता है
और एक तरफ नोटपैड, यूटीएफ -8 एक बीओएम के साथ या बिना हो सकता है।
और मैं Windows का उपयोग Cygwin के साथ करता हूं, हालांकि Windows पोर्ट अच्छी तरह से \ n \ n कर सकते हैं, जबकि आप निर्दिष्ट करते हैं कि आपने sed देखा है।
यूनिकोड एन्कोडिंग किसी विशेष ओएस का उपयोग करने का कोई नियम नहीं है। अगर यह होता तो यह बहुत लचीला ओएस नहीं होता।
वास्तव में अंतर को देखने के लिए सॉफ़्टवेयर को जानें, सॉफ़्टवेयर का एक टुकड़ा एन्कोडिंग क्या उपयोग करता है या ऑफ़र करता है।
Cygwin और xxd, और / या एक हेक्स एडिटर प्राप्त करें और देखें कि फ़ाइल के अंदर वास्तव में क्या है। किसी फ़ाइल की पहचान करने में मदद करने के लिए 'फ़ाइल' कमांड का उपयोग करें। तब आप वास्तव में देखते हैं कि UTF 16bit LE क्या है। यूटीएफ 16 बिट बीई क्या है। UTF-8 क्या है (और UTF-8 BOM के साथ या उसके बिना हो सकता है)।
कभी-कभी आप नोटपैड को यूनिकोड के रूप में सहेजने के लिए कह सकते हैं (जिसके द्वारा नोटपैड का अर्थ है यूनिकोड 16 बिट थोड़ा एंडियन), और यह नहीं होगा। लेकिन एरियल यूनिकोड की तरह एक यूनिकोड फ़ॉन्ट चुनें, और चार्मैप से कुछ यूनिकोड अक्षरों में कॉपी करें और यह होगा .. और यह देखने का एक अच्छा तरीका है कि नोटपैड या जो भी सॉफ्टवेयर कर रहा है, वह एक फ़ाइल के हेक्स को देखकर है
C:\asdf>notepad.exe a.a
C:\asdf>file a.a
a.a; Little-endian UTF-16 Unicode text, with no line terminators
C:\asdf>type a.a
aaa慡ൡ <-- though displayed aaa followed by some boxes in my cmd window
C:\asdf>
C:\asdf>xxd a.a
0000000: fffe 6100 6100 6100 6161 610d ..a.a.a.aaa.
C:\asdf>
^^ The portion of the byte that stores the 61 is the lower value portion which with LE is stored first.
Dd कमांड (एक * nix कमांड जिसे मैं विंडोज़ के भीतर साइबरविन से चलाता हूं) को स्विच कर सकता है
C:\asdf>xxd -p a.a
fffe6100610061006161610d
C:\asdf>file a.a
a.a; Little-endian UTF-16 Unicode text, with no line terminators
C:\asdf>dd if=a.a conv=swab of=a.a2
0+1 records in
0+1 records out
12 bytes (12 B) copied, 0 seconds, Infinity B/s
C:\asdf>type a.a2
a a a aaa
C:\asdf>xxd -p a.a2
feff00610061006161610d61
C:\asdf>file a.a2
a.a2; Big-endian UTF-16 Unicode text, with no line terminators
C:\asdf>
और नोटपैड यूटीएफ -16 बिग एंडियन या यूटीएफ -16 लिटिल एंडियन या यूटीएफ -8 के रूप में बचा सकता है
यदि आप एक तकनीकी व्यक्ति या यहां तक कि सिर्फ एक नोटपैड उपयोगकर्ता हैं, तो आप अपने ओएस के कारण एक एन्कोडिंग के लिए बाध्य नहीं हैं!
मुझे लगता है कि UTF-8 UTF-16 की तुलना में अधिक समझ में आता है, UTF-16 उन अक्षरों के लिए भी 16 बिट्स का उपयोग करेगा जो केवल 8 बिट्स होना चाहिए। हालांकि, यह भी ध्यान रखें कि चार्मैप UTF-16 कोड दिखाता है।
उदात्त (एक विंडोज़ पाठ संपादक) डिफ़ॉल्ट रूप से यूटीएफ -8 के रूप में यूनिकोड बचाता है।
मैं विंडोज का उपयोग करता हूं और कभी-कभी यूनिकोड का उपयोग करता हूं, और मैं ज्यादातर यूटीएफ -8 का उपयोग कर रहा हूं।
और जैसा कि विंडोज तकनीकी रूप से लचीला है, लिनक्स कम से कम तकनीकी रूप से लचीला है!