当前位置: 首页 > 面试题库 >

如何在python级别将unicode转换为字符串?

庾才
2023-03-14
问题内容

如果明确定义,以下unicode和字符串可以单独存在:

>>> value_str='Andr\xc3\xa9'
>>> value_uni=u'Andr\xc3\xa9'

如果只u'Andr\xc3\xa9'分配了上述变量,如何'Andr\xc3\xa9'在Python 2.5或2.6中将其转换为?

编辑:

我做了以下事情:

>>> value_uni.encode('latin-1')
'Andr\xc3\xa9'

解决了我的问题。有人可以向我解释到底发生了什么吗?


问题答案:

您似乎混淆了编码。看来您真正想要的u'Andr\xe9'是等效于'André'

但是您似乎是被错误解码的UTF-8编码。您可以通过将unicode字符串转换为普通字符串来解决此问题。我不确定最好的方法是什么,但这似乎可行:

>>> ''.join(chr(ord(c)) for c in u'Andr\xc3\xa9')
'Andr\xc3\xa9'

然后正确解码:

>>> ''.join(chr(ord(c)) for c in u'Andr\xc3\xa9').decode('utf8')
u'Andr\xe9'

现在它的格式正确。

但是,除了这样做,如果可能的话,您应该尝试弄清楚为什么数据首先被错误地编码,然后在那里解决该问题。



 类似资料:
  • 问题内容: 当我尝试使用“ unicode(head.contents [3])”获取标签的内容时,我得到类似于以下的输出:“ Christensen Sk \ xf6ld”。我希望转义序列作为字符串返回。如何在python中做? 问题答案: 假设Python将名称视为普通字符串,则首先必须将其解码为unicode: 实现此目的的另一种方法: 注意字符串前面的“ u”,表示它是未编码的。如果进行打

  • 问题内容: 我有一个包含unicode字符等的字符串,以某种方式不被我接收,但被作为接收。如何将其转换回unicode? 显然不是答案。那是什么 问题答案: Unicode转义仅适用于unicode字符串,因此 实际上是由6个字符组成的字符串:“ \”,“ u”,“ 2”,“ 0”,“ 2”,“ 6”。 要从中制作出unicode,请使用:

  • 问题内容: 我现在正在尝试将unicode字体转换为android中的ascii。我写了下面的代码将unicode字体转换为ascii,但是失败了。因为转换后结果无法正确显示。 unicode字体=’ေနေကာင္းပါသလား’类似于’\ u100F \ u1039 \ u100D’ 问题答案: 使用java.text.Normalizer类将unicode转换为ascii。这是答案的示例代码h

  • 问题内容: 如何在Swift中将字符串转换为Unicode(UTF-8)字符串? 在Objective中,我可以这样写: 如何在Swift中做类似的事情? 问题答案: 使用此代码, 希望对您有所帮助

  • 问题内容: 我有unicode ,我希望它以字典格式。 我想要它的格式。 我试过了,但它返回的字符串不是字典。 谁能帮我? 问题答案: 您可以使用内置包: 帮助ast模块中的literal_eval函数: literal_eval(node_or_string) 安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字

  • 问题内容: 我正在做一些抓取,并且站点经常使用实体来表示非字符。Python是否有一个实用程序可以接受带有实体的字符串并返回类型? 例如: 我回来了: 代表带有音调标记的。以二进制形式表示为16位01ce。我想将html实体转换为值 问题答案: 标准库自己的具有未记录的函数,它完全按照你的想法执行操作: