如何将硬编码为字符串的bytes字面量转换为原生bytes类型
实现方案
方案1:使用ast.literal_eval(推荐)
这是最安全、最简洁的实现方式,只会解析Python字面量结构,不会执行任意代码:
import ast X = "b'\\xec\\x9c\\xa4\\xec\\xa7\\x84'" Y = ast.literal_eval(X)
方案2:手动处理转义(无需导入模块)
手动剥离字符串外层标记,再还原转义序列得到原生bytes:
X = "b'\\xec\\x9c\\xa4\\xec\\xa7\\x84'" # 去掉外层的b'前缀与末尾的'后缀 raw_content = X[2:-1] # 还原转义序列后转换为bytes Y = raw_content.encode('latin-1').decode('unicode_escape').encode('latin-1')
效果验证
解码后可以得到正常的UTF-8文本:
print(Y.decode('utf-8')) # 输出:윤지
内容的提问来源于stack exchange,提问作者joseya7
相关产品推荐
相关产品推荐

