字符串和十六进制表示

zer*_*uno 0 python string hex

我正在尝试以下方法:

>>> a = '\01'
>>> a
>>> '\x01'
>>> b = '\11'
>>> b
>>> '\t'
>>> c = '\21'
>>> c
>>> '\x11'
Run Code Online (Sandbox Code Playgroud)

我不明白为什么有时候我会得到十六进制表示而有时候却没有.
在'\ xhh'中,'x'是基本的还是不是?

Abh*_*jit 5

简答

您会看到您的本机代码页无法代表您的字符的那些字符的十六进制表示形式

答案很长

假设您正在使用Windows,并且您的默认代码页是cp1252,'\01'则是一个不可打印的字符,ascii控制代码,代表Start of Heading.由于没有已知的字符可打印表示,因此使用十六进制值来显示该值.