首页 > 解决方案 > 字节表示中的 \t 和 \r 是什么?

问题描述

import sys
for i in range(30):
#     a = int(str(i),base = 16).to_bytes(4,sys.byteorder)
    a = i.to_bytes(4,sys.byteorder)
    print(a)

这里sys.byteorder似乎“很少”。上述代码的输出是:

b'\x00\x00\x00\x00'
b'\x01\x00\x00\x00'
b'\x02\x00\x00\x00'
b'\x03\x00\x00\x00'
b'\x04\x00\x00\x00'
b'\x05\x00\x00\x00'
b'\x06\x00\x00\x00'
b'\x07\x00\x00\x00'
b'\x08\x00\x00\x00'
b'\t\x00\x00\x00'
b'\n\x00\x00\x00'
b'\x0b\x00\x00\x00'
b'\x0c\x00\x00\x00'
b'\r\x00\x00\x00'
b'\x0e\x00\x00\x00'
b'\x0f\x00\x00\x00'
b'\x10\x00\x00\x00'
b'\x11\x00\x00\x00'
b'\x12\x00\x00\x00'
b'\x13\x00\x00\x00'
b'\x14\x00\x00\x00'
b'\x15\x00\x00\x00'
b'\x16\x00\x00\x00'
b'\x17\x00\x00\x00'
b'\x18\x00\x00\x00'
b'\x19\x00\x00\x00'
b'\x1a\x00\x00\x00'
b'\x1b\x00\x00\x00'
b'\x1c\x00\x00\x00'
b'\x1d\x00\x00\x00'

请注意这里的整数 9 和 和 之类的类似奇怪的东西b'\t\x00\x00\x00'一起写得令人讨厌。0xa0xd

这是失常还是我缺乏这些符号的知识?我的 Python 版本是 3.8.2。

标签: pythonpython-3.xbinarybyte

解决方案


这些是转义序列。
\t表示 ASCII 水平制表符 (TAB) 并\r表示 ASCII 回车 (CR)。

请参阅Python 的字符串和字节文字文档


推荐阅读