前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python - 编码问题

Python - 编码问题

作者头像
Mitchell
发布2018-09-30 09:37:08
9510
发布2018-09-30 09:37:08
举报
文章被收录于专栏:西二旗一哥西二旗一哥

Mitchell

Python 编码问题

  • 以下是关于 python 编码规则的一些介绍:
    • Python 内部所有编码统一是 Unicode,unicode 是一种中转码;
    • 中文是 gbk 格式;
    • 正常输出为 utf-8 格式。
  • 当出现乱码的情况时,我们需要通过一系列的转码
代码语言:javascript
复制
过程表述:
原文件编码格式 --> unicode 中转码 --> 转为我们需要的编码格式。
代码实现:
decode() --> unicode --> encode()转换为我们需要的编码格式。  
  • Exp:
    • 用 Python 读取 file.txt 中文文档;
代码语言:javascript
复制
f = open('filePath','r')  
content = f.read()  
print content.decode('gbk').encode('utf-8')  
  • 判断是否是 Unicode,自动处理编码
代码语言:javascript
复制
if isinstance(content, unicode):  
   print content.encode('utf-8')
else:  
   print content.decode('gbk').encode('utf-8')
  • 有时在获取网页内容时候,可能会遇到由于网站内容也是爬取到的,有的网站的编码格式不统一,造成可能有些位置出现乱码的解决方式:
代码语言:javascript
复制
web=urllib.urlopen(url)  
content = web.read().decode('gbk','ignore').encode('utf-8')  
  • 为什么不统一都使用 unicode 编码格式? 从技术方面来解释是为了节省硬盘和流量。
  • 编码问题可能带来的影响
    • 假如公司网站是面向国际的,这时如果使用的编码格式是 gbk,会被搜索引擎认为是中文网站,当在搜索引擎投放广告时,在中国 ip 进行搜索时排名可能会靠前,当其他外文国家在搜索时,因为会有根据语言来显示的策略,这个时候编码格式可能会影响其排名。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python 编码问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档