如何在Python中声明单字节变量?我希望实现用C语言表示的以下结果:
unsigned char = 0xFF;我想知道是否可以在Python中声明一个8位变量。
发布于 2016-12-22 10:57:54
Python不像C那样区分字符和字符串,也不关心int位宽。对于单个字节,您基本上有三个选择:
溢出类型长度为1的对象类型(或不在溢出外部赋值的掩码类型(或使用掩码来修剪溢出)的mychar = bytearray(b'\xff'))
int ):mychar = ctypes.c_ubyte(0xff)
ctypes mychar = b'\xff',如mychar = ctypes.c_ubyte(0xff)
最后一种选择主要是通过ctypes处理C函数,否则会很慢/不是Pythonic式的。在选项1和选项2之间进行选择取决于您将其用于什么;不同的用例需要不同的方法(尽管如果您需要同时使用这两种形式,索引/迭代bytes对象将获得int值)。
https://stackoverflow.com/questions/41274864
复制相似问题