python - 在 Python 中声明单字节变量

标签 python byte

我们如何在 Python 中声明一个单字节变量?我想实现以下用 C 表示的结果:

unsigned char = 0xFF;

我想知道是否可以在 Python 中声明一个 8 位变量。

最佳答案

Python 不像 C 那样区分字符和字符串,也不关心 int 位宽。对于单个字节,您基本上有三种选择:

  1. 长度 1 bytes (或 bytearray )对象 mychar = b'\xff' (或 mychar = bytearray(b'\xff'))
  2. 一个 int,您不会在 range(256) 之外分配值(或使用掩码来修剪溢出):mychar = 0xff
  3. A ctypes类型,例如mychar = ctypes.c_ubyte(0xff)

最后一个选项主要用于通过 ctypes 处理 C 函数,否则它很慢/不是 Pythonic。在选项 1 和 2 之间进行选择取决于您使用它的目的;不同的用例需要不同的方法(尽管索引/迭代 bytes 对象可以获得 int 值,如果您需要使用这两种形式的话)。

关于python - 在 Python 中声明单字节变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41274864/

相关文章:

python - Scrapy:无法在 HTML 文档中使用 Xpath、response.css 选择内容

java - 将 int 转换为 byte

string - 无法在多重分配中将 []byte 分配给 z(字符串类型)

C++字节流

python - 高效算法perl或python

Python 性能——你是否曾经不得不用其他东西重写?

python - 如何在django选择框中显示有限的记录?

python - 如何获取两个请求之间的差异

c# - 参数无效,正在将字节数组转换为图像

java - 在 Java Card 2.2.1 平台中存储日期和时间