首页 > 解决方案 > 将十六进制转换为十进制会产生意想不到的结果

问题描述

我正在使用“Learn Python the Hard Way”。

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

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

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

int(0xxe6)

我得到错误

SyntaxError:无效的十六进制文字

这是为什么?

标签: python-3.xencoding

解决方案


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


推荐阅读