मुझे यह स्ट्रिंग मैं इसे यूनिकोड में कैसे बदलूं? मैंने इसे करने की कोशिश की, यह अच्छी तरह समझाने। लेकिन मेरे पास उस प्रश्न के ओपी के रूप में है। उस टिप्पणी के जवाब में विंस्टन लेकिन मैं काम कर रहा हूँ ढांचे के लिए यह यूनिकोड स्ट्रिंग परिवर्तित किया जाना चाहिए। मैं scrapy का उपयोग करें और मैं इस लाइन। यहां आप के साथ यूनिकोड बाइट्स डिकोड करने के लिए एनकोडिंग निर्दिष्ट करने की जरूरत है: इस मामले में, मैं अनुभव से एन्कोडिंग अनुमान करने में सक्षम था, आपको आवश्यकता है प्रत्येक एन्कोडिंग के लिए उपयोग किए जाने वाले सही कोडेक प्रदान करने के लिए वेब डेटा के लिए, जो आम तौर पर सामग्री-प्रकार हैडर में से होता है: जहां ध्यान दें कि आपका इनपुट डेटा नहीं सादे ASCII । अगर ऐसा होता है, तो यह केवल 0 से लेकर 127 तक की सीमा में बाइट का उपयोग करता है; 'Velcro Back Rest \ xa36.99' मिला है। ध्यान दें कि इसके पास
u सामने नहीं है इसकी सिर्फ सादे आस्की
& gt; & gt; & gt; यूनिकोड ( 'वेल्क्रो वापस बाकी \ xa36.99') Traceback (सबसे हाल कॉल पिछले): फ़ाइल "& LT; stdin & gt;", लाइन 1, & lt; मॉड्यूल & gt; UnicodeDecodeError: 'ascii' कोडेक स्थिति 17 में बाइट 0xa3 डिकोड नहीं कर सकते: सीमा (128) में नहीं क्रमसूचक
loader.add_value ( 'नाम', PRODUCT_NAME) है
product_name शामिल कि समस्याग्रस्त स्ट्रिंग और यह त्रुटि फेंकता है
& gt; & gt; & gt; 'वेल्क्रो वापस रेस्ट \ xa36.99..decode (' latin1 ') u'Velcro वापस विश्राम \ xa36.99' & gt; & gt; & gt; प्रिंट 'वेल्क्रो वापस रेस्ट \ xa36.99..decode (' latin1 ') Velcro वापस आराम 6.99 £
सामग्री-प्रकार: टेक्स्ट / html; Charset = iso-8859-1
iso-8859-1 लैटिन 1 एन्कोडिंग के लिए आधिकारिक मानक नाम है, उदाहरण के लिए।
iso-8859-1 के लिए एक उपनाम के रूप में
latin1 पहचानता है।
\ xa3 163 दशमलव है, इसलिए एएससीआईआई श्रेणी के बाहर।
No comments:
Post a Comment