首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python字符串到unicode

Python字符串到unicode
EN

Stack Overflow用户
提问于 2012-04-22 13:55:29
回答 3查看 150.8K关注 0票数 55

可能重复:

How do I treat an ASCII string as unicode and unescape the escaped characters in it in python?

How do convert unicode escape sequences to unicode characters in a python string

我有一个包含unicode字符的字符串,例如\u2026等。不知怎么的,它不是以unicode的形式接收给我的,而是作为str接收的。如何将其转换回unicode?

代码语言:javascript
复制
>>> a="Hello\u2026"
>>> b=u"Hello\u2026"
>>> print a
Hello\u2026
>>> print b
Hello…
>>> print unicode(a)
Hello\u2026
>>> 

因此,很明显,unicode(a)不是答案。那又是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-22 13:59:40

Unicode转义只在unicode字符串中工作,因此

代码语言:javascript
复制
 a="\u2026"

实际上是一个由6个字符组成的字符串:'\','u','2','0','2','6‘。

若要使unicode从中受益,请使用decode('unicode-escape')

代码语言:javascript
复制
a="\u2026"
print repr(a)
print repr(a.decode('unicode-escape'))

## '\\u2026'
## u'\u2026'
票数 78
EN

Stack Overflow用户

发布于 2012-04-22 13:59:53

unicode-escape编解码器解码它:

代码语言:javascript
复制
>>> a="Hello\u2026"
>>> a.decode('unicode-escape')
u'Hello\u2026'
>>> print _
Hello…

这是因为对于非unicode字符串,\u2026是不被识别的,而是被看作是一个字符序列(更清楚地说,'Hello\\u2026')。您需要对转义进行解码,而unicode-escape编解码器可以为您完成这一任务。

请注意,通过指定codec参数,可以让unicode以相同的方式识别它:

代码语言:javascript
复制
>>> unicode(a, 'unicode-escape')
u'Hello\u2026'

但是a.decode()的方式更好。

票数 28
EN

Stack Overflow用户

发布于 2012-04-22 14:00:00

代码语言:javascript
复制
>>> a="Hello\u2026"
>>> print a.decode('unicode-escape')
Hello…
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10268518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档