python3后如何恢复_python3 还原bytes为中文的折腾

背景

遇到一个线上问题,需要通过pingback分析用户的行为。数据组提供一份相关用户的pingback文件用于分析。但是看pingback文件太痛苦了,于是就想编写一个脚本处理一下,对针对其中的参数值,替换成其代表的中文含义,方便查看。

需求

由于pingback的log信息都是记录在linux端的,通常非桌面环境的linux版本都不支持中文显示,因此导出来的pingback中带的中文也是非中文的。中文的显示也是类似这种形式:\xE7\xAD\x89\xE4\xBD\xA0\xE5\x8C\x85\xE5\x85\xBB\xE6\x88\x91,为了方便阅读,需要把这种类型的字符转化为中文

实现过程

想要实现这个需求,总共有以下两个过程:

明确这是啥字符?

怎么还原这种字符为中文?

一、这是啥字符 ?

经过一番搜索调研,找到这么一种解释?

linux默认使用utf-8编码,而utf-8默认以unicode字符集进行的编码,此种格式其实是一种utf-8的字节码[bytes]。如果要还原,需要对其进行utf-8解码

这次知道是啥了,那就知道要怎么处理了,python中有很多方法可以编码、解码,于是开始第二个过程

二、怎么还原成中文?

python 3中对字符编码方面,进行了很大的改进,默认采用了unicode字符集并使用utf-8进行编码。而且转换方法很灵活。于是开始实验:

>>> a = '\xE6\x96\xB0'>>>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值