我正在尝试将整数转换为十六进制。我已经找到了解决这个问题的答案,就像this,尽管它们对我不起作用。我的意思是:
如果我接受这个:
buf = ""
buf += "\xda\xc7\xd9\x74\x24\xf4\xbe\x9d\xca\x88\xfb\x5a\x29"
print buf
我用python从控制台运行它我的文件.py然后输出是这样的:······················································································。如果我尝试一下:
^{pr2}$输出是\xE6,控制台不以十六进制形式读取。我错过了什么??在
\xda
是由Python解释器解释的转义序列。\
本身没有意义,\\
是一个转义序列,意思是“反斜杠”。在要将自定义十六进制数转换为文本,请参阅以下问题:Convert from ASCII string encoded in Hex to plain ASCII?。下面是最简单答案的摘要:
("%0.2X" % var1).decode("hex")
。在在第一个示例中,您要做的是创建一系列转义字符。所以当密码
解释器实际上是将其转换成由0xc9编码的ascii字符。在
你的问题是你的代码不允许这些转换。您的代码要求一个字符串,该字符串只是字符\then x后跟某个变量的十六进制值。在
你可能在找这样的东西:
^{pr2}$注意:如果您需要编码UTF-8值(基本上大于255,您可能需要使用unichr()而不是chr()。在
相关问题 更多 >
编程相关推荐