Python,正确的方法来制定二进制数据,准备通过串口发送

时间:2016-07-27 07:16:49

标签: python serial-port byte bit

我需要创建一个通过串口与不同设备通信的设备。非常基本的东西。

但是,我需要做的就是传递特定的二进制数据,设备将处理其余的数据。

数据必须采用二进制格式,我已经看到了各种方式在互联网上进行,但我们不确定表示二进制数据的正确方法是什么,而不是字符串。

以下是我发现的几个例子:

div {
  width: 300px;
  height: 100px;
  background: red;
}

p {
  text-align: center;
  line-height: 100px;
}

我需要制定几个字节的信息,这将涉及我在每个字节中设置某些位,而我很困惑如何去做它

1 个答案:

答案 0 :(得分:2)

python中的二进制文字看起来像这样:

>>> 0b11
3
>>> 0b10
2
>>> 0b100
4

您可以使用按位运算符来操作位:

>>> 0b1000
8
>>> 0b1000 | 0b1
9

|只是or运算符。请在此处查看其他运算符:BitwiseOperators

要查看数字二进制表示,您可以使用string.format:

>>> "{0:b}".format(9)
'1001'
>>> "{0:b}".format(65)
'1000001'
>>> "{0:b}".format(234)
'11101010'

修改 设置特定位的例子:

# setting off second bit
>>> bin(0b1100 & 0b1011)
'0b1000'
# setting on third bit
>>> bin(0b1100 | 0b0010)
0b1110'

请注意,二进制文字为您提供了一个int:

>>> type(0b1)
<type 'int'>