我有一個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中的文字字符串?