我有一个mac地址的字符串变量。 它可以是二进制的 - '\ x00 \ x04 \ x96 \ x82Q \ xbb'或ascii - 'c8:be:19:c6:a0:e0'。如果它是二进制我需要将其转换为ascii字符串与b2a_hex函数。是否有可能知道我现在拥有什么类型的字符串?如何知道python中的二进制字符串或ascii字符串
0
A
回答
0
十六进制(数字) - >串
返回一个整数或长整型的十六进制表示。
//此函数用于获取十进制数,然后使用该十进制数获得十六进制数。
>>int('010110', 2)
22
>>> hex(int('010110', 2))
'0x16'
>>>
>>> hex(int('0000010010001101', 2))
'0x48d'
0
看长度。如果它是6,那么你有二进制,如果它更大,那么它是文本。
if len(s) <= 6:
s = binascii.b2a_hex(s)
-1
Mac地址是48位长。
如果MAC地址是二进制形式,但将需要6个字节。(8位(1字节)×6 = 46bits)
如果MAC地址是ASCII呈现,这将需要17个ASCII字符(17咬伤)。
所以,如果数据是6个字节,它可能包含二进制Mac地址。 如果数据是17个字节或更多,它可能包含ASCII地址的Mac地址。
0
您也可以使用简单的find
。如果string.find(":") == -1
它是二进制的,否则它是ASCII。
相关问题
- 1. 二进制字符串ASCII文本字符串
- 2. 在python中,如何将十六进制ascii字符串转换为原始的内部二进制字符串?
- 3. 使用ASCII字符和进行二进制搜索字符串?
- 4. 如何在python中异或两个二进制字符串
- 5. Python的二进制字符串ASCII文本
- 6. 将ascii字符十进制值的字符串转换为二进制值
- 7. 十六进制字符串到二进制字符串
- 8. 二进制字符串到十六进制字符串java
- 9. Ruby:十六进制字符串到二进制字符串
- 10. 如何将十六进制字符串转换为Lua中的ascii字符串
- 11. 字符串到二进制[]
- 12. Json_encode二进制字符串
- 13. 字符串为二进制
- 14. 二进制字符串
- 15. python字符串和二进制数据
- 16. Python二进制字符串转换
- 17. Python:打印二进制字符串
- 18. 在python中解析字符串而不知道字符串
- 19. Python3 ASCII十六进制转换为二进制字符串
- 20. Java字符串十六进制字符串ASCII与重音
- 21. 如何在Python中对字符串进行二进制编码?
- 22. Python - 压缩ASCII字符串
- 23. 如何在python中打印没有ASCII字符的字符串?
- 24. 如何将ASCII字符转换为Python中的字符串
- 25. Python 3.4.3 .:二进制字符串树中所有字符串长度的总和
- 26. 字符串二进制到字符串8位数字在JAVA
- 27. 如何阅读Python中的二进制字符串
- 28. 串联二进制值NVARCHAR字符串
- 29. 十六进制ASCII字符串转换
- 30. 如何XOR十六进制字符串与Python中的文字字符串?