如何使用Python将字节字符串转换为字符串

52 浏览
0 Comments

如何使用Python将字节字符串转换为字符串

我得到了一个字节串字符串,内容如下:

string1 = \"b\'\\xe6\\x88\\x91\\xe4\\xbb\\xac \\xe7\\xb4\\xa2\\xe8\\xa6\\x81 \\xe6\\x8e\\xa8\\xe5\\xb9\\xbf \\xe7\\x9a\\x84 \\xe6\\x98\\xaf\\xe4\\xb8\\x80 \\xe5\\xbe\\x97 \\xe6\\x96\\xb9\\xe6\\x96\\xb9 \\xe6\\x96\\xb9\\xe8\\xa8\\x80 \\xe4\\xb8\\xba\\xe5\\x9f\\xba \\xe7\\xa1\\x80 \\xe6\\x96\\xb9\\xe8\\xa8\\x80 \\xe4\\xb8\\x80 \\xe5\\x8c\\x97\\xe4\\xba\\xac \\xe5\\xb7\\xb2 \\xe5\\x9b\\xa0 \\xe4\\xb8\\xba \\xe6\\xa0\\x87\\xe5\\x87\\x86 \\xe7\\x9a\\x84 \\xe6\\x99\\xae\\xe9\\x80\\x9a \\xe8\\xaf\\x9d \\xe4\\xbb\\x96 \\xe4\\xbb\\x8e \\xe5\\x84\\xbf\\xe7\\xab\\xa5 \\xe6\\x97\\xb6\\xe4\\xbb\\xa3 \\xe8\\xb5\\xb7 \\xe5\\xb0\\xb1 \\xe5\\x96\\x9c\\xe6\\xac\\xa2 \\xe4\\xb8\\x8b \\xe5\\x9b\\xb4\\xe6\\xa3\\x8b \\xe5\\x9c\\xa8 \\xe5\\x8d\\x81\\xe4\\xba\\x94 \\xe5\\xb2\\x81 \\xe7\\x9a\\x84 \\xe6\\x97\\xb6\\xe5\\x80\\x99 \\xe5\\xb0\\xb1 \\xe6\\x98\\xaf\\xe6\\x9c\\x89 \\xe5\\x90\\x8d \\xe5\\x85\\xb6 \\xe5\\xb0\\x91 \\xe4\\xba\\x86\'\"

我想将字节串字符串转换成字符串,以便使用解码函数得到正常的结果。

admin 更改状态以发布 2023年5月24日
0
0 Comments

首先,在其前面加上一个 r,以便\\x保留两个字符。然后 ast.literal_eval() 将起作用。\n

import ast
string1 = r"b'\xe6\x88\x91\xe4\xbb\xac \xe7\xb4\xa2\xe8\xa6\x81 \xe6\x8e\xa8\xe5\xb9\xbf \xe7\x9a\x84 \xe6\x98\xaf\xe4\xb8\x80 \xe5\xbe\x97 \xe6\x96\xb9\xe6\x96\xb9 \xe6\x96\xb9\xe8\xa8\x80 \xe4\xb8\xba\xe5\x9f\xba \xe7\xa1\x80 \xe6\x96\xb9\xe8\xa8\x80 \xe4\xb8\x80 \xe5\x8c\x97\xe4\xba\xac \xe5\xb7\xb2 \xe5\x9b\xa0 \xe4\xb8\xba \xe6\xa0\x87\xe5\x87\x86 \xe7\x9a\x84 \xe6\x99\xae\xe9\x80\x9a \xe8\xaf\x9d \xe4\xbb\x96 \xe4\xbb\x8e \xe5\x84\xbf\xe7\xab\xa5 \xe6\x97\xb6\xe4\xbb\xa3 \xe8\xb5\xb7 \xe5\xb0\xb1 \xe5\x96\x9c\xe6\xac\xa2 \xe4\xb8\x8b \xe5\x9b\xb4\xe6\xa3\x8b \xe5\x9c\xa8 \xe5\x8d\x81\xe4\xba\x94 \xe5\xb2\x81 \xe7\x9a\x84 \xe6\x97\xb6\xe5\x80\x99 \xe5\xb0\xb1 \xe6\x98\xaf\xe6\x9c\x89 \xe5\x90\x8d \xe5\x85\xb6 \xe5\xb0\x91 \xe4\xba\x86'"
bytes1 = ast.literal_eval(string1)
print(bytes1.decode('utf8'))  # 我们 索要 ...

0