尝试通过带有pyserial的串行端口与步进电机控制器通信时,我收到这样的消息作为响应'/0\x03\r\n'。我需要能够将'\x03'字节转换为二进制,令我感到困惑的部分是,'\x03'被认为是字符串的单个字符,因此我无法执行以下操作:'\x03'[2:]获取。如何将'03'转换为可用的内容,例如:'\x03'或00000011? 最佳答案 \x03是Python告诉您的方法,字符串的该部分有一个字节,其十六进制值为03,这不是可打印的字符。前两个字符是可打印的(十六进制2F和30十六进制分别是ASCII字符/和0),因此Python使用了它们所对应的ASCII字符。您可以使用ord()将其转换为整数:>>> ord('\x03')3您可以使用bin() function或format() function将该整数转换为二进制表示形式,其中format()函数是更灵活和通用的选项:>>> bin(3)'0b11'>>> format(3, 'b')'11'>>> format(3, '08b')'00000011'关于python - 解释通过串行端口接收的字节,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28154775/
10-10 12:44