将ASCII转换为Unicode编码问题

2024-10-04 05:23:02 发布

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

我有一个关于Python2编码的问题。我试图解码一个ASCII字符串,其中包含一个字母的Unicode代码,然后将其编码回拉丁语-1,但没有成功。下面是一个例子:

In[27]: d = u'\u010d'

In[28]: print d.encode('utf-8')

č

In[29]: d1 = '\u010d'

In[30]: d1.decode('ascii').encode('utf-8')

Out[30]: '\\u010d'

我想将'\u010d'转换为'č'。是否有任何内置的解决方案来避免自定义字符串替换?在


Tags: 字符串代码in编码字母asciiunicode解码
1条回答
网友
1楼 · 发布于 2024-10-04 05:23:02

当你这么做的时候

d1 = '\u010d'

你实际上得到了这个字符串:

^{pr2}$

这是因为“normal”(非Unicode)字符串无法识别\unnnn转义序列,因此将其转换为文本反斜杠,后跟unnnn。在

为了解码,您需要使用^{} codec

In [4]: print d1.decode("unicode_escape").encode('utf-8')
č

当然,首先不应该在非Unicode字符串中使用Unicode转义序列。在

相关问题 更多 >