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

标签 python escaping byte ascii

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

最佳答案

您要查找的内容在 Python 中不存在。

数字转义码通常为十六进制(或较少见的八进制),因为这是其预期用途的明显选择。 来自 Python 语言引用 中的表格,2.4.1. String and Bytes literals :

Notes:
[...]
3. In a bytes literal, hexadecimal and octal escapes denote the byte with the given value. In a string literal, these escapes denote a Unicode character with the given value.

(强调已添加。 感谢 Evert 在 comment 中提供链接.)

要表示一个字节,您必须准确指定 8 位。 每个十六进制数字 4 位,这需要 正好 两个十六进制数字。 将 8 位与 2 位十六进制数字相互转换比将相同的 8 位与两点十进制数字相互转换要容易得多 --- 无需在头脑中乘(或除)16。

要表示一个 Unicode 字符,您必须在 Unicode 代码空间 中指定一个代码点,即 defined作为“从 0 到 10FFFF16 的整数范围”。 由于这些以十六进制正式表示(U+0020U+FFFE 等),因此十六进制转义码是唯一合理的选择——它们几乎不需要任何努力完全没有。

关于python - 使用十进制 ASCII 值转义字符串中的序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42883401/

相关文章:

python - 在列表和字符串中查找匹配的单词

php - 在 JavaScript 字符串中用转义符替换字符

java - 捕获流中特定字节模式的最有效方法是什么?

javascript - JSON 响应中的字符串在 HTML 标记中未正确转义

arrays - 在 Swift 中将 bytes/UInt8 数组转换为 Int

postgresql - 以字节/兆字节为单位确定表或选定记录的大小

python - 在 Docker 中使用 python-colorama

python - 加快从 python 中的滚动窗口中查找前 5 个数字的平均值

Python 未被识别为 Windows 7 中的内部或外部命令

php - 使用 PHP 插入数据库时​​如何转义引号