python中bytearray到字符串的转换

2024-06-02 13:37:03 发布

您现在位置:Python中文网/ 问答频道 /正文

背景信息:我想在sql查询中传递一个字符串作为参数:

sqlq="""select reaction_time from table5 where sessionID=%s"""

我的数据是bytearray的形式(这个sessionID也是从数据库中检索的)

{u'sessionID': bytearray(b'001f6340f7651db3e289d348de75f9bb')} 

问题:如何将其转换为字符串,使其看起来像以下内容'001f6340f7651db3e289d348de75f9bb'


Tags: 数据字符串from信息sql参数timewhere
1条回答
网友
1楼 · 发布于 2024-06-02 13:37:03

在3.X中:

>>> d = {u'sessionID': bytearray(b'001f6340f7651db3e289d348de75f9bb')}
>>> my_string = d[u"sessionID"].decode()
>>> my_string
'001f6340f7651db3e289d348de75f9bb'

可能您现在在想“我尝试过这个,但是因为我使用的是python2.7,所以输出是u'001f6340f7651db3e289d348de75f9bb'。我不想让你在前面。如何使其成为8位字符串,而不是Unicode字符串。2.7字节数组和2.7字符串之间的转换非常简单,两种类型都是8位的,因此不需要解码。一个简单的str()调用就足够了:

C:\Users\Kevin\Desktop>py -2
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> d = {u'sessionID': bytearray(b'001f6340f7651db3e289d348de75f9bb')}
>>> my_string = str(d[u"sessionID"])
>>> my_string
'001f6340f7651db3e289d348de75f9bb'

相关问题 更多 >