python-3.x - 将十六进制转换为十进制会产生意想不到的结果
问题描述
我正在使用“Learn Python the Hard Way”。
在第 82 页上有一个hexadecimal
编码字符串。
rawBytes = b'\xe6\x96\x87\xe8\xa8\x80'
当我尝试仅将一个hexadecimal
值转换为decimal
值时
int(0xxe6)
我得到错误
SyntaxError:无效的十六进制文字
这是为什么?
解决方案
十六进制值由数字 0-9 和/或 A 到 F 组成。您连续两次使用字母“x”会导致错误。字节文字 '\x' 中的转义序列与 '0x' 具有相同的含义。所以尝试一下int(0xe6)
,你就是金子。