यह एक पायथन 101 प्रकार का प्रश्न है, लेकिन यह मुझे थोड़ी देर के लिए परेशान कर रहा था जब मैंने एक पैकेज का उपयोग करने की कोशिश की जो मेरे स्ट्रिंग इनपुट को बाइट्स में परिवर्तित करना प्रतीत होता था।पायथन 3 में बाइट्स और स्ट्रिंग्स के बीच कैसे परिवर्तित करें?
जैसा कि आप नीचे देखेंगे, मुझे अपने लिए जवाब मिला, लेकिन मुझे लगा कि यह रिकॉर्डिंग के लायक था क्योंकि मुझे यह पता लगाने के लिए कि क्या चल रहा था। ऐसा लगता है कि यह पाइथन 3 के लिए सामान्य है, इसलिए मैंने उस मूल पैकेज को संदर्भित नहीं किया है जिसके साथ मैं खेल रहा था;
import mangler # spoof package
stringThing = """
<Doc>
<Greeting>Hello World</Greeting>
<Greeting>你好</Greeting>
</Doc>
"""
# print out the input
print('This is the string input:')
print(stringThing)
# now make the string into bytes
bytesThing = mangler.tostring(stringThing) # pseudo-code again
# now print it out
print('\nThis is the bytes output:')
print(bytesThing)
: यह एक त्रुटि होने के लिए (था सिर्फ इतना है कि विशेष पैकेज एक
.tostring()
विधि है कि स्पष्ट रूप से
नहीं था उत्पादन क्या मैं एक स्ट्रिंग के रूप में समझा ...)
मेरे परीक्षण कार्यक्रम इस प्रकार है प्रतीत नहीं होता
इस कोड से उत्पादन इस देता है:
This is the string input:
<Doc>
<Greeting>Hello World</Greeting>
<Greeting>你好</Greeting>
</Doc>
This is the bytes output:
b'\n<Doc>\n <Greeting>Hello World</Greeting>\n <Greeting>\xe4\xbd\xa0\xe5\xa5\xbd</Greeting>\n</Doc>\n'
इसलिए, बाइट्स और तार के बीच परिवर्तित करने के लिए, गैर- ASCII वर्ण gobbledegook में दिया जा रहा है के साथ समाप्त से बचने के लिए सक्षम होने के लिए एक की जरूरत है।
[यह प्रश्न] (http://stackoverflow.com/questions/7585435/best-way-to-convert-string-to-bytes-in-python-3) उत्तर में अधिक जानकारी देता है, लेकिन मुझे लगता है कि नीचे दिए गए संक्षिप्त उत्तर अधिक स्पष्ट हैं। – Bobble