繁体   English   中英

在python中解码一个utf8字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM