Python:无法将unicode转换为字符串

2024-09-26 22:52:52 发布

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

我什么都试过了,但是unicode一直没有消失。在

col = "[u'$929.95']"
unicoded_item = to_unicode(col) # [u'test']

print type(unicoded_item) # <type 'unicode'>
if isinstance(unicoded_item, unicode):
    unicoded_item = unicoded_item.encode('utf8')
    print str(unicoded_item) # [u'test']

我原以为整个[u'和{}会消失,但它似乎没有转换。因此,当我将这个字符串保存到一个文本文件中时,文本文件将真正地包含所有unicode python字符[u'test'],而不是{}


Tags: totestiftypeunicodecolutf8item
3条回答

它可能不会直接处理这个问题,但是您可以使用replace()函数来交换[u'。在

变量col可能包含一个包含一个unicode字符串元素的列表。在

unicoded_item = to_unicode(col)然后使用该列表的表示形式创建一个unicode字符串:u"[u'test']"。在

然后使用unicoded_item.encode('utf8')将这个unicode字符串转换为字符串。在

这将给您一个(字节)字符串"[u'test']"。在

解决方案是访问col中的元素,而不是转换整个{}。如果col始终只包含一个元素,则可以简单地将col替换为col[0]。在

您有一个表示列表对象的字符串。解决这个问题最简单的方法是计算字符串以获取对象:

>>> import ast
>>> col = "[u'$929.95']"
>>> col2 = ast.literal_eval(col)
>>> type(col)
<type 'str'>
>>> type(col2)
<type 'list'>
>>> col2[0]
u'$929.95'
>>> str(col2[0])
'$929.95'

相关问题 更多 >

    热门问题