将十六进制转换为十进制会产生意想不到的结果

Converting hexadecimal to decimal gives unexpected result

我正在使用“学习 Python 艰难的方法”。

第 82 页上有一个 hexadecimal 编码字符串。

rawBytes = b'\xe6\x96\x87\xe8\xa8\x80'

当我尝试仅将一个 hexadecimal 值转换为 decimal 值时

int(0xxe6)

我收到错误

SyntaxError: invalid hexadecimal literal

这是为什么?

十六进制值由数字 0-9 and/or A 到 F 组成。您连续两次使用字母 'x' 导致错误。字节文字 '\x' 中的转义序列与 '0x' 具有相同的含义。所以试试 int(0xe6),你就是金子。