[英]Decode a utf8 string in python
我对 Python 中的编码和解码有疑问。 我想用我的算法对越南语的纯文本进行编码,但是这个算法不能对越南语的纯文本进行编码,所以我通过plaintext.encode('utf-8')
将其转换为 UTF-8,然后将其从字节转换到字符串(因为我的算法只编码一个字符串)。 但我的问题是在解码部分,然后我通过我的算法解码,我得到一个 UTF-8 字符串,所以我想将 UTF-8 字符串解码为越南文本(mojibake),但我不能使用receiveString.decode('utf-8')
因为“字符串没有属性 'decode'”。 我知道字符串不能使用这种方法,但如何处理呢?
这是我收到的字符串:
b'v\\xc3\\xb4 \\xc4\\x91\\xe1\\xbb\\x8bch thi\\xc3\\xaan h\\xe1\\xba\\xa1'
那是一个 UTF-8 字符串,我想解码它,但是
'str' object has no attribute 'decode'
很不清楚的问题。 但是,以下代码片段可能会有所帮助(内联注释显示部分进度报告):
receive_string = "b'v\\xc3\\xb4 \\xc4\\x91\\xe1\\xbb\\x8bch thi\\xc3\\xaan h\\xe1\\xba\\xa1'"
vietnamese_txt = (receive_string
.encode() # b"b'v\\xc3\\xb4 \\xc4\\x91\\xe1\\xbb\\x8bch thi\\xc3\\xaan h\\xe1\\xba\\xa1'"
.decode('unicode_escape') # "b'vô Ä\x91á»\x8bch thiên hạ'"
.encode('latin1').decode() # "b'vô địch thiên hạ'"
.lstrip('b').strip("'")) # 'vô địch thiên hạ'
print(vietnamese_txt) # vô địch thiên hạ
vô địch thiên hạ
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.