首页 > 解决方案 > 如何忽略 unicode 值并保持格式 '\x##'?

问题描述

我正在创建数据包以串行发送到设备。我想保留我输入的格式而不将其转换为 unicode 字符。

my_thing = b'\xb4\x75'
print(my_thing)
(Actual Output)>>> b'\xb4u'
(Wanted Output)>>> b'\xb4\x75'

可能是一个简单的问题,但在谷歌搜索和搜索其他问题之后,我找不到我想要的东西。提前致谢!

标签: pythonserializationunicodebytecrc16

解决方案


假设这只是一个表示/打印问题,我会建议一个自定义打印功能:

my_thing = b'\xb4\x75'

def print_bytes_as_hex(b):
    print("b'{}'".format(''.join(r'\x{:02x}'.format(i) for i in b)))

print_bytes_as_hex(my_thing)

如果你复制/评估这个函数的输出,它应该==是输入。

注意:它生成的字符串不是 ==输入。


推荐阅读