文章目录
- 1. '\x'与'0x'
- 2. little endian 与 big endian
1. ‘\x’与’0x’
-
'\x'
与'0x'
的意义是不同的:>>> int('\x41',16) 10 >>> int('0x41',16) 65 >>> "\x41" 'A'
-
不论
'\'
后面接什么,其本身都是字符串转义(string escape code)的意思。
比如\x
中x
为十六进制,则\x
代表一个十六进制表达;若x
为n
,这里\
表示文字转义,\n
表示换行符,等等 -
Python 使用类似的转义,将不能用
ASCII
表示的字符打印出来>>> chr(65) 'A' >>> chr(11) '\x0b'
2. little endian 与 big endian
这里是针对比特序来讲的,对于数字0xB4(10110100)
:
- big endian:
| 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
即,最高有效位位于左侧 - little endian:
| 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
即,最高有效位位于右侧
参考:
- Difference between different hex types/representations in Python
- Big Endian 和 Little Endian 详解