Python编码-python2.7编码乱码

Python编码

转码思路

字符串在Python内部的表示是unicode编码,在编码转换时通常需要以unicode作为中间编码。
先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

转码举例

s.decode('utf-8', 'ignore').encode('gbk', 'ignore')
先由utf-8转为unicode,再由unicode转为gbk,ignore表示忽略非法字符
Python
s = <span class="hljs-string">u'中文'</span> <span class="hljs-comment"># s为unicode</span> <span class="hljs-keyword">print</span> isinstance(s, unicode) <span class="hljs-comment"># True</span> <span class="hljs-keyword">print</span> s.encode(<span class="hljs-string">'utf-8'</span>, <span class="hljs-string">'ignore'</span>) <span class="hljs-comment"># 中文</span> <span class="hljs-comment"># 由unicode转为utf-8,ignore表示忽略非法字符</span>
1
2
3
4
s = < span class = "hljs-string" > u '中文' < / span > < span class = "hljs-comment" > # s为unicode</span>
< span class = "hljs-keyword" > print < / span > isinstance ( s , unicode ) < span class = "hljs-comment" > # True</span>
< span class = "hljs-keyword" > print < / span > s . encode ( < span class = "hljs-string" > 'utf-8' < / span > , < span class = "hljs-string" > 'ignore' < / span > ) < span class = "hljs-comment" > # 中文</span>
< span class = "hljs-comment" > # 由unicode转为utf-8,ignore表示忽略非法字符</span>



  • zeropython 微信公众号 5868037 QQ号 5868037@qq.com QQ邮箱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值