chcp 10000
echo hell☺ w☻rld♥! >> "UTF-16 file☺☻♥♦♣♠"
ठीक है, यह सही फ़ाइल बनाता है, लेकिन सामग्री में यूनिकोड वर्णों के बजाय प्रश्न चिह्न हैं। इसे कैसे जोड़ेंगे?
chcp 10000
echo hell☺ w☻rld♥! >> "UTF-16 file☺☻♥♦♣♠"
ठीक है, यह सही फ़ाइल बनाता है, लेकिन सामग्री में यूनिकोड वर्णों के बजाय प्रश्न चिह्न हैं। इसे कैसे जोड़ेंगे?
जवाबों:
आपका कोड सही नहीं है, क्योंकि 10000 यूनिकोड कोड पेज नहीं है। कोड पृष्ठ पहचानकर्ता देखें ।
10000 macintosh MAC Roman; Western European (Mac)
...
1200 utf-16 Unicode UTF-16, little endian byte order (BMP of ISO 10646); available only to managed applications
1201 unicodeFFFE Unicode UTF-16, big endian byte order; available only to managed applications
...
12000 utf-32 Unicode UTF-32, little endian byte order; available only to managed applications
12001 utf-32BE Unicode UTF-32, big endian byte order; available only to managed applications
...
65000 utf-7 Unicode (UTF-7)
65001 utf-8 Unicode (UTF-8)
मुझे यकीन नहीं है कि क्यों, लेकिन कमांड प्रॉम्प्ट उन्हें पेस्ट किए जाने पर नियंत्रण पात्रों के रूप में व्याख्या करने लगता है, विशेष रूप से एसओएच (हेडिंग की शुरुआत, 01), एसटीएक्स (टेक्स्ट की शुरुआत, 02) और ईटीएक्स (टेक्स्ट का अंत, 03)।
प्लस साइड में, PowerShell इसे ठीक से संभालता है। नोटपैड ++ ने परिणामी पाठ फ़ाइल को स्वचालित रूप से "यूसीएस -2 लिटिल एंडियन" के रूप में खोला, और यह सही वर्ण प्रदर्शित करता है।
ठीक है, मुझे पता चल गया है कि UTF-8 मेरे लिए काम क्यों नहीं कर रहा था। फ़ॉन्ट को ल्यूसिडा कंसोल पर सेट किया जाना चाहिए, क्योंकि डिफ़ॉल्ट रैस्टर फ़ॉन्ट्स में यूनिकोड का समर्थन नहीं है।
available only to managed applications
। उचित यूनिकोड समर्थन के लिए पावरशेल का उपयोग करें, क्योंकि 65001
इस मामले के लिए कमांड प्रॉम्प्ट में UTF-8 विकल्प ( ) काम नहीं करता है।
दोनों 65001.txt
और 1200.txt
एक ही स्ट्रिंग होते हैं: абв™
लेकिन विभिन्न एन्कोडिंग में। आदेश:
chcp 65001 & type 65001.txt
सफलतापूर्वक कोडपेज बदलता है, लेकिन कचरा प्रदर्शित करता है।
आदेश:
type 1200.txt
सही अक्षर प्रदर्शित करता है, लेकिन कमांड
for /f %A in ('type 1200.txt') do echo %A
प्रदर्शित करता है абвT
।
इसलिए cmd.exe कोडपेज 1200 (कुछ सीमाओं के साथ) के साथ काम करने में सक्षम है, जबकि मुझे कोडपेज 65001 के साथ कोई संतोषजनक परिणाम नहीं मिल सकता है।