हमारे आवेदन में, हम पाठ फ़ाइलें (प्राप्त .txt
, .csv
विविध स्रोतों से, आदि)। पढ़ते समय, इन फ़ाइलों में कभी-कभी कचरा होता है, क्योंकि एक अलग / अज्ञात कोडपेज में बनाई गई फाइलें।
क्या किसी पाठ फ़ाइल के कोडपेज का पता (स्वतः) लगाने का कोई तरीका है?
detectEncodingFromByteOrderMarks
, पर StreamReader
निर्माता, के लिए काम करता है UTF8
और अन्य यूनिकोड चिह्नित फ़ाइलों को, लेकिन मैं, कोड पृष्ठों को पहचानने का जैसे एक तरह से तलाश कर रहा हूँ ibm850
, windows1252
।
आपके उत्तर के लिए धन्यवाद, यही मैंने किया है।
हमारे द्वारा प्राप्त की जाने वाली फाइलें एंड-यूजर्स की हैं, उनके पास कोडपेज के बारे में कोई सुराग नहीं है। रिसीवर भी अंत-उपयोगकर्ता हैं, अब तक यह वही है जो वे कोडपेज के बारे में जानते हैं: कोडपेज मौजूद हैं, और कष्टप्रद हैं।
समाधान:
- नोटपैड में प्राप्त फ़ाइल खोलें, पाठ के एक विकृत टुकड़े को देखें। यदि किसी को फ्रैंकोइस या कुछ और कहा जाता है, तो आपकी मानवीय बुद्धि से आप यह अनुमान लगा सकते हैं।
- मैंने एक छोटा ऐप बनाया है जिसका उपयोग उपयोगकर्ता फ़ाइल को खोलने के लिए कर सकता है, और एक पाठ दर्ज कर सकता है जिसे उपयोगकर्ता जानता है कि यह फ़ाइल में दिखाई देगा, जब सही कोडपेज का उपयोग किया जाता है।
- सभी कोडपेज के माध्यम से लूप करें, और उन लोगों को प्रदर्शित करें जो उपयोगकर्ता द्वारा प्रदान किए गए पाठ के साथ समाधान देते हैं।
- यदि एक से अधिक कोडपेज पॉप अप करते हैं, तो उपयोगकर्ता को अधिक टेक्स्ट निर्दिष्ट करने के लिए कहें।