如何解决UUID 到十六进制数组?
我正在学习一个教程,它说 UUID 是 65210001-28D5-4B7B-BADF-7DEE1E8D1B6D
,然后他以这种格式将其添加到代码中,但没有解释转换是如何发生的:
// Simple Service UUID: 65210001-28D5-4B7B-BADF-7DEE1E8D1B6D
static struct bt_uuid_128 simple_service_uuid =
BT_UUID_INIT_128(0x6d,0x1b,0x8d,0x1e,0xee,0x7d,0xdf,0xba,0x7b,0x4b,0xd5,0x28,0x01,0x00,0x21,0x65);
我很好奇,0x6d,0x65
到底是什么格式?十六进制?
如何从 UUID 获取数组?我尝试过十六进制转换和其他一些 python 编码,但我无法创建任何接近的东西。 我希望在 python 中进行转换。
解决方法
感谢 Patrick Artners 的帮助,这是 Python 解决方案:
uuid = input('Enter a UUID: ')
uuid = uuid.replace('-','')
uuid = uuid[::-1] #reverse the string
hexArrayStr = ''
splitToTwos = map(''.join,zip(*[iter(uuid)]*2))
count = 0
for v in splitToTwos:
count+=1
hexArrayStr = hexArrayStr + ('0x'+(v[::-1]).lower())
if count != 16:
hexArrayStr = hexArrayStr + ','
print(hexArrayStr)
打印 0x6d,0x1b,0x8d,0x1e,0xee,0x7d,0xdf,0xba,0x7b,0x4b,0xd5,0x28,0x01,0x00,0x21,0x65
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。