Python 转换 unicode 表示的字符串

应用场景:有一个文本文件,里面存储了很多 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