Python 从.py运行时,获取.decode(“hex”)以将结果显示为普通字符和转义十六进制

Python 从.py运行时,获取.decode(“hex”)以将结果显示为普通字符和转义十六进制,python,python-2.7,Python,Python 2.7,如果我在shell中键入“32510ba9babebbbefd001547a810e67149caee”。解码('hex'),输出看起来像2Q\x0b\xa9\xba\xbe\xbb\xbe\xfd\x00\x15G\xa8\x10\xe6qI\xca\xee” 这就是我想要的 但是,如果从.py脚本运行此脚本,则不会打印任何内容。 如果我把代码改成 打印“32510ba9babebbbefd001547a810e67149caee”。解码('hex') 我可以看到各种各样的符号♬, 例如,这就

如果我在shell中键入“32510ba9babebbbefd001547a810e67149caee”。解码('hex'),输出看起来像
2Q\x0b\xa9\xba\xbe\xbb\xbe\xfd\x00\x15G\xa8\x10\xe6qI\xca\xee
” 这就是我想要的

但是,如果从
.py
脚本运行此脚本,则不会打印任何内容。 如果我把代码改成

打印“32510ba9babebbbefd001547a810e67149caee”。解码('hex')

我可以看到各种各样的符号♬, 例如,这就是你想要的吗

print "32510ba9babebbbefd001547a810e67149caee".decode('hex').encode('string-escape')
这是你想要的吗

print "32510ba9babebbbefd001547a810e67149caee".decode('hex').encode('string-escape')

这与python shell的功能类似:

print repr("32510ba9babebbbefd001547a810e67149caee".decode('hex'))

这与python shell的功能类似:

print repr("32510ba9babebbbefd001547a810e67149caee".decode('hex'))

问题是,当我使用“打印”时,它显示符号而不是转义的十六进制。您希望字符串的转义python表示形式是什么?可能与您正在使用的数据重复?检查它以查看原始ascii是什么。问题是,当我使用“打印”时,它显示符号而不是转义的十六进制。您希望字符串的转义python表示形式是什么字符串的转义python表示形式?可能与您对数据所做的操作重复?检查它以查看原始asciiwas@k29:此答案与naltipar的答案略有不同-
repr
包括周围的引号,
。encode('string-escape')
没有。True;这两个答案基本上都符合我的要求:将字符串显示为转义十六进制。@k29:此答案与naltipar的答案略有不同-
repr
包括周围的引号,
。encode('string-escape')
不正确;这两个答案基本上都符合我的要求:将字符串显示为转义十六进制。