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

站长数十年成长感悟,输入暗号查看

桩白墨公众号上还能加入书舟书友群、美团外卖红包群,免费领取站桩和原创 chatgpt 教程哦
暗号:
请关注本站微信公众号,回复“暗号”,即可获取。在微信里搜索“桩白墨”或者“baimoz”或者微信扫描右侧二维码都可以关注站长微信公众号。