gpt4 book ai didi

Python MySQL blob 数据类型转换

转载 作者:行者123 更新时间:2023-11-29 17:57:11 24 4
gpt4 key购买 nike

我使用Python 2.7将数据写入MySQL blob列:

data_list=[{ id': 0, 'binarydata': 
'\x04\x0f\x002\x00\x00\x00\x00\x00\x03\x00 \x00\x06\x00@\x00\t\x00`
\x00\x0c\x00\x80\x00\x0f\x0’}]

cursor.executemany(SQL, data_list)

我想以与上面相同的格式从数据库读回二进制数据:

我尝试过:

SELECT id, HEX(binarydata) as binarydata FROM T;  

我得到:

  data_list=[{ id': 0, 'binarydata': u'040F00320000000000030020000600400009..'}]  

区别在于:二进制数据现在有前缀 u' 并且原始 data_list 中存在的所有\x 都消失了。
问题:如何获取原始格式的数据(带\x且不带前缀u')?

最佳答案

在Python2.7中有一个内置库binascii

通过使用binascii.hexlify,您可以采用bytearray,例如\x04\x0f 并将其转换为十六进制值。通过使用 binascii.unhexlify 您可以用其他方式实现。

import binascii

a = b'\x04\x0f'
b = binascii.hexlify(a)

print b # '040f'
print binascii.unhexlify(b) # '\x04\x0f'

关于Python MySQL blob 数据类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48694374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com