Pap*_*one 10 python byte python-3.x
我们如何在python 3中声明单个字节变量?我想实现C中表示的以下结果:
unsigned char = 0xFF;
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以在python中声明一个8位变量.
谢谢你的回答
Sha*_*ger 10
Python不像C那样区分字符和字符串,也不关心int位宽.对于单个字节,您基本上有三个选择:
bytes(或bytearray)的对象mychar = b'\xff'(或mychar = bytearray(b'\xff'))int你不分配以外的值range(256)(或使用屏蔽修剪溢出):mychar = 0xffctypes类型,例如mychar = ctypes.c_ubyte(0xff)最后一个选项主要是用于处理C函数ctypes,否则它很慢/不是Pythonic.选项1和2之间的选择取决于您使用它的内容; 不同的用例需要不同的方法(尽管索引/迭代bytes对象会在int需要使用两种形式时获取值).