首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Python解码编码的unicode字符串

用Python解码编码的unicode字符串
EN

Stack Overflow用户
提问于 2013-09-27 17:38:47
回答 1查看 1.2K关注 0票数 3

我需要解码一个"UNICODE“编码字符串:

代码语言:javascript
复制
>>> id = u'abcdß'
>>> encoded_id = id.encode('utf-8')
>>> encoded_id
'abcd\xc3\x9f'

我遇到的问题是:使用幽门路由,我将encoded_id变量作为unicode字符串u'abcd\xc3\x9f',而不是普通的字符串'abcd\xc3\x9f'

使用python,我如何解码我的encoded_id变量,即unicode字符串?

代码语言:javascript
复制
>>> encoded_id = u'abcd\xc3\x9f'
>>> encoded_id.decode('utf-8')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/test/vng/lib64/python2.6/encodings/utf_8.py", line 16, in         decode
return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 4-5: ordinal not in range(128)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-27 17:42:40

您有UTF-8编码数据(没有UNICODE编码的数据)。

将unicode值编码为拉丁文-1,然后从UTF8解码:

代码语言:javascript
复制
encoded_id.encode('latin1').decode('utf8')

拉丁文1将首255个unicode点一对一映射为字节.

演示:

代码语言:javascript
复制
>>> encoded_id = u'abcd\xc3\x9f'
>>> encoded_id.encode('latin1').decode('utf8')
u'abcd\xdf'
>>> print encoded_id.encode('latin1').decode('utf8')
abcdß
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19056863

复制
相关文章

相似问题

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