如何解码unicode raw文字到可读字符串? [英] How to decode unicode raw literals to readable string?

查看:200
本文介绍了如何解码unicode raw文字到可读字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我将unicode原始文字分配给一个变量,我可以读取它的值:

 >>> (s \\ u043b\\\е\\\н\\\о'
>>> $ $ $ $ \\ u0432\\\л\\\е\\\н\\\о'
>>>>打印s
Сообщениеотправлено

但是,当我已经将值分配给一个普通的,不是unicode字符串,我不能:

 >>> s ='\\\С\\\о\\\о\\\б\\\щ\\\е\\\н\\\и\\\е \\\о\\\т\\\п\\\р\\\а\\\в\ u043b\\\е\\\н\\\о'
>>>> s
'\\\\С\\\\о\\\\о\\\\б\\\щ\\uu435\\\\н\\\\и\\\\\\\\\\\\ u0435 \\\\о\\\\т\\\\п\\\\р\\\\а\\uu432\\\\л\\\\л\\\\е\\\\н\\\\\\ u043e'
>>>打印s
\\\С\\\о\\\о\\\б\\\щ\\\е\\\н\\\и\\\е \\\о\\\т\\\п\\\р\\\а\ u0432\\\л\\\е\\\н\\\о

我如何解码和阅读?

解决方案

使用 unicode_escape编解码器

  s.decode('unicode_escape')
/ pre>

If I assign unicode raw literals to a variable, I can read its value:

>>> s =  u'\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e'
>>> s
u'\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e'
>>> print s
Сообщение отправлено

But when I have already assigned value to a plain, not unicode string, I can not:

>>> s =  '\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e'
>>> s
'\\u0421\\u043e\\u043e\\u0431\\u0449\\u0435\\u043d\\u0438\\u0435 \\u043e\\u0442\\u043f\\u0440\\u0430\\u0432\\u043b\\u0435\\u043d\\u043e'
>>> print s
\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e

How can I decode and read it?

解决方案

Use the unicode_escape codec:

s.decode('unicode_escape')

这篇关于如何解码unicode raw文字到可读字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆