使用十进制的ASCII值转义字符串中的序列?

时间:2017-03-19 05:54:34

标签: python escaping byte ascii

Python中的转义序列支持十六进制(如'\xab')和八进制(如\12)值。有没有办法将ASCII码指定为十进制值(可能像\n99)?我搜索了一下,却惊讶地发现什么都没有。

1 个答案:

答案 0 :(得分:2)

您在寻找的内容并不存在于Python中。

数字转义码通常为十六进制(或不太常见,八进制),因为它是其预期用途的明显选择。 从 Python语言参考中的表格2.4.1. String and Bytes literals

  

注意:   
  [...]   
  3.在字节文字中,十六进制和八进制转义表示具有给定值的字节。在字符串文字中,这些转义表示具有给定值的 Unicode字符

(重点补充说。 感谢Evert在comment中提供链接。)

要表示字节,您必须准确指定8位。 每个十六进制数字为4位,这需要完全两个十六进制数字。 将8位转换为2位十六进制数字并返回比将这些相同的8位转换为两位十进制数字要容易得多 - 你的头脑中不需要乘以(或除以)16。

要表示 Unicode字符,您必须在Unicode 代码空间中指定一个代码点,defined为"范围为从0到10FFFF 16 "的整数。 由于这些是以十六进制(U+0020U+FFFE等)正式表示的,因此十六进制转义码是唯一合理的选择 - 它们根本不需要任何努力。

相关问题