Python中的转义序列支持十六进制(例如'\xab'
)和八进制(例如\12
)值。是否有一种方法可以将ASCII码指定为十进制值(可能类似于\n99
)?我搜索了一下,但惊讶地发现没有相关资料。
在Python中,您要查找的内容不存在。
数字转义码通常是十六进制(或不太常见的八进制),因为这是它们预期用途的明显选择。 从Python语言参考表中,2.4.1.字符串和字节文字:
注:
[...]
3. 在字节文字中,十六进制和八进制转义表示具有给定值的字节。在字符串文字中,这些转义符号表示具有给定值的Unicode字符。
(强调添加。 感谢Evert在评论中提供链接。)
要表示一个字节,必须精确指定8位。 每个十六进制数字4位,这需要恰好两个十六进制数字。 将8位转换为2个十六进制数字并返回比将这些8位转换为两点几个十进制数字来回转换要容易得多 - 您无需在脑海中乘以(或除以)16。
要表示一个Unicode字符,必须指定Unicode 代码空间中的代码点,该代码空间被定义为“从0到10FFFF16的一系列整数”。
由于它们以十六进制表示(U+0020
,U+FFFE
等),因此十六进制转义码是唯一合理的选择 - 它们根本不需要任何努力。
chr
可能会有用。 - busybear