python - 从十六进制字符串中提取位

标签 python hex

这是我的代码

data[12] = '\x18'
c = 4
d = c & data[12]
print d

输出/错误

Error: TypeError: unsupported operand type(s) for &: 'str' and 'int'

请帮助解决这个问题。

我需要从 8 位中提取高位。

像这样的 '\x18' 有两位高,我想要那些位置。

最佳答案

d = c & ord(data[12])

您不能对字符串进行二进制运算,因此请将此字符串转换为数字。

在您的情况下,\xSOMETHING 代表一个(可能不可打印的)字符,它在 ASCII 集中具有相应的位置。使用 ord 检索它,返回一个数字(在您的例子中为 24)。

关于python - 从十六进制字符串中提取位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36605865/

相关文章:

java - 将十六进制转换为带有前导零的二进制

java - JScrollPane 没有显示?

java - 如何在Android中将日期时间转换为十六进制

python - kdeplot seaborn 中的自定义阴影调色板

python - generate_blob_sas 创建无效的 SAS token

python - 在 Pandas 数据帧中查找 "best"切片而不循环

python - 如何获取字典中的其他值然后一个值等于

ios - 如何将 RGB 颜色转换为 HTML 颜色?

Python 3.7 anaconda 环境-import _ssl DLL 加载失败错误

C++:打印数组时意外获取十六进制