का उपयोग कर readAsBinaryString और readAsText के बीच अंतर, उदाहरण के तौर पर, जब मैं FileReader API का उपयोग कर फ़ाइल से π वर्ण (\u03C0
) पढ़ता हूं, तो मुझे FileReader.readAsText(blob)
का उपयोग करके इसे पढ़ने पर मुझे पीआई कैरेक्टर वापस मिल जाता है। लेकिन जब मैं FileReader.readAsBinaryString(blob)
उपयोग करते हैं, मैं परिणाम \xcf\x80
बजाय मिलता है, जो अनुकरणीय चरित्र के साथ किसी भी दिखाई संबंध हो प्रतीत नहीं होता है। क्या चल रहा है? अच्छी तरह से (यह शायद रास्ता UTF-8/16 एन्कोड किया गया है के साथ क्या करना कुछ है ...)FileReader
उत्तर
ओह, अगर है कि तुम सब की जरूरत है ... :)
CF80
है के लिए UTF-8 एन्कोडिंग है π।
FileReader.readAsText
खाते में फ़ाइल की एन्कोडिंग लेता है। विशेष रूप से, चूंकि आपके पास यूटीएफ -8 में एन्कोड की गई फ़ाइल है, इसलिए प्रति चरित्र एकाधिक बाइट्स हो सकते हैं। इसे पाठ के रूप में पढ़ना, यूटीएफ -8 को पढ़ा जाता है, और आपको अपनी स्ट्रिंग मिलती है।
FileReader.readAsBinaryString
, दूसरे हाथ पर, करता है यह वास्तव में क्या कहते हैं। यह बाइट द्वारा फ़ाइल बाइट पढ़ता है। यह बहु-बाइट वर्णों को नहीं पहचानता है, जो विशेष रूप से बाइनरी फ़ाइलों के लिए अच्छी खबर है (मूल रूप से टेक्स्ट फ़ाइल को छोड़कर कुछ भी)। चूंकि π दो-बाइट वर्ण है, इसलिए आपको दो अलग-अलग बाइट मिलते हैं जो इसे आपकी स्ट्रिंग में बनाते हैं।
यह अंतर कई स्थानों पर देखा जा सकता है। विशेष रूप से जब एन्कोडिंग खो दिया है और आप Ã © के रूप में प्रदर्शित é जैसे पात्रों को देखते हैं।
धन्यवाद ... इसलिए जब मैं एक ब्लॉबबिल्डर को \ xA2 जोड़ने की कोशिश करता हूं तो यह \ xC2 \ xA2 के रूप में निकलता है क्योंकि यह यूटीएफ -8 एन्कोडेड है, लेकिन मैं वापस \ xA2 कैसे प्राप्त कर सकता हूं? (यह एक सिंगल बाइट वर्ण है) – gengkev
ओह, मुझे लगता है कि मुझे एक ऐरेबफर का उपयोग करना होगा – gengkev
- 1. FileInputStream बनाम FileReader
- 2. FileReader और InputStreamReader
- 3. bufferedreader और FileReader
- 4. IER में FileReader() के लिए शिम 9
- 5. HTML 4 HTML 5 के FileReader के बराबर है?
- 6. क्या मुझे FileReader और BufferedReader दोनों को बंद करने की आवश्यकता है?
- 7. जावास्क्रिप्ट के FileReader इंटरफ़ेस का उपयोग करते समय फ़ाइल की सामग्री-प्रकार का पता लगाना
- 8. html5 fileReader - फ़ाइल के पहले एन अक्षर को कैसे पढ़ा जाए?
- 9. डिवाइस फ़ाइलों के साथ एएसओ का उपयोग कैसे करें
- 10. IE10 मैं एचटीएमएल 5 में FileReader एपीआई का उपयोग करता है खींचें और ड्रॉप के माध्यम से फ़ाइल अपलोड स्वीकार करने के लिए एक सरल वेब एप्लिकेशन है, जब किसी फ़ाइल
- 11. जावा: Reader.close() किसी भी जंजीर पाठकों को बंद करता है?
- 12. Google ऐप इंजन
- 13. मैं जार के अंदर एक कॉन्फ़िगरेशन फ़ाइल कैसे एक्सेस करूं?
- 14. Tokenizing त्रुटि: java.util.regex.PatternSyntaxException, झूलते metacharacter '*'
- 15. मैं ओपनएनएलपी में नामांकित इकाई पहचानकर्ता पहचानकर्ता को कैसे प्रशिक्षित करता हूं?
- 16. एचटीएमएल जावा
- 17. क्लोजिंग नेस्टेड रीडर
- 18. बंद फ़ाइल काम नहीं करता है
- 19. किसी विशिष्ट पैकेज से txt फ़ाइल को पढ़ना जावा
- 20. संपत्तियों से HTML फ़ाइल पढ़ें
- 21. मैं प्रत्येकलाइन
- 22. सफारी में जावास्क्रिप्ट फ़ाइल रीडर पहचान
- 23. एक बुफर्ड रीडर कन्स्ट्रक्टर एक फ़ाइल रीडर
- 24. जावा: फ़ाइल
- 25. क्या नेस्टेड प्रयास/पकड़ ब्लॉक के लिए प्राथमिकता है?
- 26. परीक्षण संसाधनों का उपयोग कैसे करें?
- 27. HttpServletResponse PrintWriter एक इनपुटस्ट्रीम
- 28. जावा को जितना संभव हो उतना कसकर ब्लॉक करने की कोशिश करनी चाहिए?
- 29. Unmarshall
- 30. जावा फ़ाइल रीडर एन्कोडिंग समस्या
'CF80' π के लिए UTF-8 एन्कोडिंग है। – deceze
... ओह, तुम सही हो ... धन्यवाद! – gengkev
... जो शायद बहुत स्पष्ट था, लेकिन यदि आप चाहें तो इसे उत्तर के रूप में पोस्ट कर सकते हैं। – gengkev