Python 转换 unicode 表示的字符串
- Python
- 2017-11-10
- 144热度
- 0评论
应用场景:有一个文本文件,里面存储了很多 unicode 形式的字符串,例如 \u63A7\u4EF6\u53EF\u89C1,要将它转换为实际表示的值(“控件可见”),进行处理后,再转换为原来的形式进行保存。
核心代码如下(Python3):
In [1]: import codecs
In [2]: s = '\\u63A7\\u4EF6\\u53EF\\u89C1'
In [3]: print(s)
\u63A7\u4EF6\u53EF\u89C1
In [4]: m = codecs.decode(s, 'unicode_escape')
In [5]: print(m)
控件可见
In [6]: n = codecs.encode(m, 'unicode_escape').decode()
In [7]: n
Out[7]: '\\u63a7\\u4ef6\\u53ef\\u89c1'
In [8]: print(n.upper().replace('\\U', '\\u'))
\u63A7\u4EF6\u53EF\u89C1