मेरे पास कुछ बच निकले हुए स्ट्रिंग्स हैं जिन्हें अनचाहे होने की आवश्यकता है। मैं इसे पायथन में करना चाहता हूं।मैं Python3 में .decode ('string-escape') कैसे करूं?
उदाहरण के लिए, python2.7 में मैं यह कर सकता:
>>> "\123omething special".decode('string-escape')
'Something special'
>>>
मैं python3 में ऐसा कैसे करते हैं? यह काम नहीं करता:
s\000u\000p\000p\000o\000r\000t\[email protected]\000p\000s\000i\000l\000o\000c\000.\000c\000o\000m\000
और यह में बदल जाते हैं:
"[email protected]"
बाद मैं रूपांतरण
>>> b"\123omething special".decode('string-escape')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
LookupError: unknown encoding: string-escape
>>>
मेरा लक्ष्य इस तरह एक स्ट्रिंग लेने के लिए हाबिल हो रहा है , मैं यह जांचने की जांच करूंगा कि मेरे पास स्ट्रिंग यूटीएफ -8 या यूटीएफ -16 में एन्कोड की गई है या नहीं। आप के बजाय एक str
वस्तु के साथ शुरू हैं (अजगर 2.7 यूनिकोड के बराबर)
>>> b"\\123omething special".decode('unicode_escape')
आप पहली बाइट के लिए सांकेतिक शब्दों में बदलना है, तो डिकोड की आवश्यकता होगी:
इस प्रयास करें:। 'बाइट (" \ विशेष 123omething "," utf-8 ") को डिकोड (" unicode_escape ")' –
आप पूरी तरह निश्चित उन पलायन और नहीं शाब्दिक बाइट्स हैं? –
वे शाब्दिक बाइट हैं!एक बैकस्लैश है, फिर 0, फिर दूसरा 0, फिर एक तीसरा 0 ... मेरे पास एक प्रोग्राम है जो एक बाइनरी फ़ाइल पढ़ता है और इस तरह की जानकारी आउटपुट करता है। यह वास्तव में फ़ाइल में बाइनरी आउटपुट करता है। कभी-कभी फ़ाइल की सामग्री यूटीएफ -8 कोडित होती है और यह बस गुजरती है। लेकिन अगर यह वैध यूटीएफ -8 मान्य नहीं है तो यह इस तरह से एन्कोड किया जाता है। – vy32