पायथन के यूटीएफ-8 डिकोडिंग में यूनिकोडडिकोडत्रुटि का समस्या निवारण
त्रुटि का सामना करना पड़ रहा है "यूनिकोडडिकोडत्रुटि: 'यूटीएफ-8' कोडेक बाइट 0xएफएफ को डिकोड नहीं कर सकता स्थिति 0 में: अमान्य स्टार्ट बाइट" दर्शाता है कि पायथन यूटीएफ -8 का उपयोग करके बाइट अनुक्रम को डीकोड करने का प्रयास कर रहा है लेकिन एक अमान्य स्टार्ट बाइट का सामना कर रहा है। ऐसा तब होता है जब एक बाइट सरणी, जिसे UTF-8-एन्कोडेड स्ट्रिंग माना जाता है, में UTF-8 एन्कोडिंग के बाहर के अक्षर होते हैं।
त्रुटि का कारण
दिए गए उदाहरण में, open(path).read() का उपयोग करके फ़ाइल खोलने से डिकोडिंग प्रयास शुरू हो जाता है। चूँकि फ़ाइल में UTF-8 के अनुरूप बाइट्स नहीं हैं, इसलिए डिकोडिंग प्रक्रिया विफल हो जाती है, जिसके परिणामस्वरूप त्रुटि होती है।
Solution
इस समस्या को हल करने के लिए, यह आवश्यक है फ़ाइल को टेक्स्ट फ़ाइल के बजाय बाइनरी के रूप में संभालें। यह पायथन को बाइट्स को UTF-8 स्ट्रिंग के रूप में डीकोड करने का प्रयास करने से रोकता है। ]
f के रूप में खुले (पथ, 'आरबी') के साथ: contents = f.read()
मोड तर्क में 'बी' निर्दिष्ट करने से पायथन को फ़ाइल को बाइनरी स्ट्रीम के रूप में मानने का निर्देश मिलता है, यह सुनिश्चित करते हुए कि सामग्री बिना किसी डिकोडिंग प्रयास के बाइट्स ऑब्जेक्ट बनी रहे।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3