如何将unicode格式的字符串转换为unicode格式?

2024-06-16 12:35:53 发布

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

我有一个字符串为'\u96e8'的变量,我想将其转换为unicode,因为函数kanji \u to \u romaji()只接受unicode。我该怎么做?我使用的是python2.7

# -*- coding: UTF-8 -*-
from kanji_to_romaji import kanji_to_romaji
message = '\u96e8'
message = unicode(message)
x = kanji_to_romaji(message)
print(x)

Tags: to函数字符串fromimportmessageunicodeutf
2条回答

您可以使用unicode转义编解码器将bytestring解码为unicode

>>> message = '\u96e8'
>>> unicode_message = message.decode('unicode-escape')
>>> unicode_message
u'\u96e8'
>>> print unicode_message
雨

使用ast.literal_eval

>>> message = '\u96e8'
>>> ast.literal_eval('u"{}"'.format(message))
u'\u96e8'

技巧是构造一个包含unicode字符串文本的字符串,作为参数传递给literal_eval。也就是说,u"\u96e8"而不仅仅是\u96e8

(不过,这只是部分正确。如果message本身的值包含双引号,则它将失败。在其他情况下,这种方法可能也会失败。)

相关问题 更多 >