Python如何解码字符串格式的UTF8编码
How Python decodes UTF8 Encoding in String Format
现在有一串utf-8:
s = '\346\235\216\346\265\267\347\216\211'
需要解码,现在只能这样了:
result = eval(bytes(f"b'{s}'", encoding="utf8")).decode('utf-8')
这样不安全,有没有更好的办法?
你可以decoded_string = s.decode("utf8")
使用ast.literal_eval()
,不安全。
那么你不需要调用bytes()
,因为它会return一个字节串。
result = ast.literal_eval(f"b'{s}'").decode('utf-8')
可能是您希望得到的......:[=11=]
'\346\235\216\346\265\267\347\216\211'.encode('utf8').decode('unicode-escape')
现在有一串utf-8:
s = '\346\235\216\346\265\267\347\216\211'
需要解码,现在只能这样了:
result = eval(bytes(f"b'{s}'", encoding="utf8")).decode('utf-8')
这样不安全,有没有更好的办法?
你可以decoded_string = s.decode("utf8")
使用ast.literal_eval()
,不安全。
那么你不需要调用bytes()
,因为它会return一个字节串。
result = ast.literal_eval(f"b'{s}'").decode('utf-8')
可能是您希望得到的......:[=11=]
'\346\235\216\346\265\267\347\216\211'.encode('utf8').decode('unicode-escape')