@ Jrb के उत्तर के अलावा, विम में, फ़ाइल के चरित्र एन्कोडिंग का पता फ़ाइलेंकोडिंग्स विकल्प के आधार पर लगाया जाता है। (फाइल के अंत में 'एस' नोट करें)
विंडोज पर Ie, fileencodings
विकल्प के लिए डिफ़ॉल्ट मान है ucs-bom
, जिसका अर्थ है:
जांचें कि क्या BOM फ़ाइल की शुरुआत में मौजूद है।
यदि BOM मौजूद है, तो 'BOM से फ़ाइल के वर्ण एन्कोडिंग को पढ़ें'।
यदि BOM मौजूद नहीं है (और इस मामले में इसका मतलब यह भी होगा कि fileencodings
विकल्प में निर्दिष्ट सभी वर्ण एन्कोडिंग मिलान करने में विफल रहे), तो encoding
विकल्प में निर्दिष्ट वर्ण एन्कोडिंग के साथ फ़ाइल पढ़ें । के लिए डिफ़ॉल्ट वर्ण एन्कोडिंग encoding
विकल्प है: latin1
। अब, क्योंकि latin1
है एक बाइट लंबाई वर्ण एन्कोडिंग, सभी फ़ाइल में बाइट्स मान्य हैं latin1
वर्ण (यहां तक कि Nul
चरित्र ^@
है कि आप देख रहे हैं *)।
* - वास्तव ^@
में, विम के बफर टेक्स्ट में न्यूलाइन कैरेक्टर है, न्यूल कैरेक्टर नहीं।
फ़ाइल को पढ़ने का उचित तरीका यह है कि चरित्र एन्कोडिंग को UTF-16 के रूप में मैन्युअल रूप से निर्दिष्ट किया जाए (क्योंकि ऐसा लगता है कि UTF-16 इस मामले में उचित चार एन्कोडिंग है)।