Python中文编码那些事

 更新时间:2014年06月25日 09:03:22   投稿:hebedich  
由于中文的特殊性,造成了在各大编程语言中都存在编码转换的问题,今天我们来探讨下python中中文编码如何处理呢
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

首先,要明白encode()和decode()的区别

 encode()的作用是将Unicode编码的字符串转换为其他编码格式。

例如: st1.encode("utf-8")  这句话的作用是将Unicode编码的st1编码为utf-8编码的字符串

decode()的作用是把其他编码格式的字符串转换成Unicode编码的字符串。

例如: st2.decode("utf-8") 这句话的作用是将utf-8编码的字符串st2解码为Unicode编码的字符串

第二,除Unicode编码的字符串以外,任何一种编码的字符串要想转换为其他编码格式,必须先解码后编码

非Unicode编码--> Unicode编码-->非Unicode编码

例如,utf-8编码的字符串st想要转换为gbk编码的字符串,必须经过以下步骤:

st=st.decode("utf-8") #解码为Unicode编码

st=st.encode("gbk")  #从Unicode编码编码为gbk编码

第三,我们经常使用的utf-8编码还分为有BOM的和无BOM的。

第四:关于json文件的中文编码。用Python读取Json文件时经常用到json.load()函数,该函数对json文件的格式是有要求的

1)json文件是utf-8 without BOM编码的,那么可以直接用json.load(filename)函数读取json文件的内容

2)json文件是utf-8 with BOM编码的,不能用json.load()函数读取,json.load()不能正确识别

3)json文件时其他编码的,比如gbk, 要把json文件的编码格式作为一个参数传给json.load():

eg. json.load(filename,"gbk")

第五,怎么查看并且设置自己文件的编码呢?

介绍一个个人比较喜欢的工具"Nodtepad++",随便一个软件管家里就与一键安装。

用这个工具你可以方便的查看自己的文件的当前编码,并可以轻松转换成任意其他编码格式

相关文章

  • python基于物品协同过滤算法实现代码

    python基于物品协同过滤算法实现代码

    这篇文章主要为大家详细介绍了python基于物品协同过滤算法实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • python openpyxl提取Excel图片实现原理技巧

    python openpyxl提取Excel图片实现原理技巧

    在这篇文章中,将介绍如何使用openpyxl来提取Excel中的图片,以及它的原理和技巧,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 详解python的super()的作用和原理

    详解python的super()的作用和原理

    这篇文章主要介绍了python的super()的作用和原理,super(), 在类的继承里面super()非常常用, 它解决了子类调用父类方法的一些问题, 父类多次被调用时只执行一次, 优化了执行逻辑,下面我们就来详细看一下
    2020-10-10
  • Python3.5文件修改操作实例分析

    Python3.5文件修改操作实例分析

    这篇文章主要介绍了Python3.5文件修改操作,结合实例形式分析了Python3.5针对txt文本文件的读写、修改等相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • python函数不定长参数使用方法解析

    python函数不定长参数使用方法解析

    这篇文章主要介绍了python函数不定长参数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • python中property和setter装饰器用法

    python中property和setter装饰器用法

    今天小编就为大家分享一篇python中property和setter装饰器用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python使用tkinter模块实现推箱子游戏

    Python使用tkinter模块实现推箱子游戏

    这篇文章主要介绍了Python使用tkinter模块实现推箱子游戏,主要分享两点,第一就是这个程序的实现过程,第二点就是我在编写过程中的一些思考。本文通过实例代码给大家介绍的非常详细,需要的朋友参看下吧
    2019-10-10
  • python3结合openpyxl库实现excel操作的实例代码

    python3结合openpyxl库实现excel操作的实例代码

    这篇文章主要介绍了python3结合openpyxl库实现excel操作的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • 解决Django Static内容不能加载显示的问题

    解决Django Static内容不能加载显示的问题

    今天小编就为大家分享一篇解决Django Static内容不能加载显示的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析

    Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法

    这篇文章主要介绍了Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块,结合实例形式较为详细的分析了shelve、xml、configparser、hashlib、hmac等模块的功能及使用方法,需要的朋友可以参考下
    2019-04-04

最新评论

?


http://www.vxiaotou.com