【Python】 \uxxxx转中文

背景  

写Python接口自动化过程中,使用到邮件发送测试结果详情,邮件呈现出来的内容为 \uxxxx ,不是中文

接收到的邮件内容:

成功: 110 失败: 1
失败的用例如下 :
[(u'\u7528\u4f8b\u540d\u79f0', u'\u8fd4\u4f63\u7533\u8bf7'), (u'\u8bf7\u6c42\u65b9\u5f0f', u'POST'),]

原因  

后来定位到是因为unicode数据在传递过程中使用的内存编码值进行存储,没有使用文本形式存储,而邮件发送前后又没有进行解码

解决方法

既然已经定位到原因,解决方法就比较简单了:在发送邮件之前,首先对发送数据进行解码,然后再发送即可~

具体使用的是Python为我们提供了解码和编码的方法decode()和encode(),

其中 decode('unicode_escape') 能将此种字符串解码为unicode字符串,使用方法如下:

>>> print '\u7528\u4f8b\u540d\u79f0'
\u7528\u4f8b\u540d\u79f0
>>> print '\u7528\u4f8b\u540d\u79f0'.decode('unicode-escape')
用例名称

一个小问题,折腾了近两个小时,还有太大的进步空间,加油!!!

posted @ 2017-06-03 16:41  Bingo-he  阅读(940)  评论(0编辑  收藏  举报