python ctypes cast获取空字符串
b
是地址
如果b_v.value
是普通字符,这是正常的。但是如果b
的内容是像“1122001314”这样的十六进制,只要它包含十六进制“00”,结果可能是 1122 001314 应该丢失
现在我想获取所有内容“1122001314”。请给我一些方法谢谢。
代码是:
b_v=ctypes.cast(b,ctypes.POINTER(ctypes.c_char_p))
print binascii.b2a_hex(b_v.value)
例子:
import ctypes
import binascii
va=binascii.a2b_hex('1212273031003535')
tt=ctypes.create_string_buffer(va)
b=ctypes.addressof(tt)
b_v=ctypes.cast(b,ctypes.c_char_p)
print binascii.b2a_hex(b_v.value)
现在结果是:"1212273031"
我想要的结果是"1212273031003535"