我们如何在 Python 中声明一个单字节变量?我想实现以下用 C 表示的结果:
unsigned char = 0xFF;
我想知道是否可以在 Python 中声明一个 8 位变量。
最佳答案
Python 不像 C 那样区分字符和字符串,也不关心 int
位宽。对于单个字节,您基本上有三种选择:
- 长度 1
bytes
(或bytearray
)对象mychar = b'\xff'
(或mychar = bytearray(b'\xff')
) - 一个
int
,您不会在range(256)
之外分配值(或使用掩码来修剪溢出):mychar = 0xff
- A
ctypes
类型,例如mychar = ctypes.c_ubyte(0xff)
最后一个选项主要用于通过 ctypes
处理 C 函数,否则它很慢/不是 Pythonic。在选项 1 和 2 之间进行选择取决于您使用它的目的;不同的用例需要不同的方法(尽管索引/迭代 bytes
对象可以获得 int
值,如果您需要使用这两种形式的话)。
关于python - 在 Python 中声明单字节变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41274864/