在python中,如何将十六进制ASCII字符串转换为二进制字符串?
例:
01000001B8000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435362021222324
需要转换为二进制字符串.(0A需要被转换为1010,不为ASCII位1000001这是65)
编辑:将有问题的"原始二进制"更改为"原始内部二进制"字符串,以便更清晰.
ful*_*ton 14
import base64
data = base64.b16decode("01000001B8000102030405")
Run Code Online (Sandbox Code Playgroud)
这是你在寻找什么?
hex_string = '0A'
'{0:b}'.format(int(hex_string, 16))
# returns '1010'
Run Code Online (Sandbox Code Playgroud)
要么
''.join('{0:04b}'.format(int(c, 16)) for c in hex_string)
Run Code Online (Sandbox Code Playgroud)
您可能需要.decode('hex')字符串方法(Python 2.x).
data= ("01000001B8000102030405060708090A0B0C0D0E0F10111213141516"
"1718191A1B1C1D1E1F202122232425262728292A2B"
"2C2D2E2F303132333435362021222324")
data.decode('hex')
Run Code Online (Sandbox Code Playgroud)
否则,您可以使用base64.b16decode,但casefold如果您的输入包含小写十六进制数字A到F ,您可能希望为第二个参数()提供True .
| 归档时间: |
|
| 查看次数: |
24179 次 |
| 最近记录: |