链接:https://www.zhihu.com/question/35609295/answer/63780022
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

CP936和UTF-8本身和Python是毫无关联的。
CP936其实就是GBK,IBM在发明Code Page的时候将GBK放在第936页,所以叫CP936。

至于GBK,百度百科就说的很清楚了:GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification) ,中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。这一版的GBK规范为1.0版。
而UTF-8: UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

所以GBK和UTF-8简单的来说,区别就是编码方式不同,表示的文字范围不同。(UTF-8能表示更多的语言文字,更加通用)在Python里面,你需要注意你Python本身是否声明了字符编码类型(尤其是Py 2x),例如:#-- coding: UTF-8 --
以及,你是如何从外部文件或者网页读入字符的,他们的源编码类型是什么

utf-8 和 cp936的区别相关推荐

  1. Python中文编码的问题(UTF-8和CP936的区别)

    Python 全栈工程师核心面试 300 问深入解析(2020 版)----全文预览 Python 全栈工程师核心面试 300 问深入解析(2020 版)----欢迎订阅 对于python中中文无法显 ...

  2. java读取utf-8文件第一行多一个问号

    2019独角兽企业重金招聘Python工程师标准>>> 之前写了一个偏低层的项目,需要解压jar=>修改jar文件>打包jar 所以会经常io读写文件,当时还不清楚utf ...

  3. Unicode、UTF-8 和 ISO8859-1到底有什么区别(转载)

    本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 c ...

  4. 字符集ASCII、GBK、UNICODE、UTF在储存字符时的区别

    ASCII编码(American Standard Code for Information Interchange,美国信息互换标准代码),使用127个8进制字节表示英文和半角字符. GBK (Gu ...

  5. Unity中获取字符串长度、Unicode字符数量和编码ASCII,UTF,GBK的区别

    1.String.Length,String.ToCharArray,StringInfo,Encoding.UTF8.GetByteCount的区别: String.Length:获取的是字符串中C ...

  6. unicode、utf区别

    字符集 首先,我们要明确2个概念,字符集和字符编码. 字符集:ASCII.GB2312.GBK.Unicode 字符编码:UTF-8.UTF-16.UTF-32 由于ASCII.GB2312.GBK不 ...

  7. ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别

    ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别 最近老为编码问题而烦燥,下定决心一定要将其弄明白!本文主要总 结网上一些朋友提供的 asc ...

  8. [转]UTF-8 GBK UTF8 GB2312 之间的区别和关系

    from http://www.cnblogs.com/xiaomia/archive/2010/11/28/1890072.html UTF-8:Unicode TransformationForm ...

  9. utf-8,gbk,gb2312区别

    很多用户问GBK与UTF-8版本有什么区别,这边作了个整理如下: KesionCMS的GBK版本与UTF-8版本功能是一样的.只不过编码方式不同. GBK的文字编码是双字节来表示的,即不论中.英文字符 ...

最新文章

  1. 2019 ACM - ICPC 上海网络赛 E. Counting Sequences II (指数型生成函数)
  2. docker之container
  3. line-height 属性
  4. PHP | 计算字符串中的单词总数
  5. C++ 使用VS2010创建MFC ActiveX工程项目
  6. mantis apache mysql_Debian下mysql5+php5+apache2+mantis服务器升级
  7. 微信小游戏推荐:又一款H5微信互动小游戏要火啦!
  8. Android手机指纹驱动工作原理
  9. 亲子关系-《抗压力·亲子篇》书中的精髓:理解何为抗压力,让孩子从小学会如何面对挫折,培养抗压力。
  10. 必须记住这几种庄家洗盘的形态
  11. 身份证号码中间位数隐藏
  12. mysql 计算自然周
  13. IntelliJ IDEA下载安装教程
  14. java ygc逐步增加,【jvm学习笔记五】G1-YGC分析
  15. 阿特拉斯拧紧枪说明书_ATLAS 阿特拉斯 DS手枪式电动拧紧枪
  16. 牛客网-编程语言初学练习赛(第一场)题解
  17. Reactive思考
  18. SCU(System Control Units)
  19. 在Python中,val、exec和 compile 有什么区别?
  20. 微信接口开发报错invalid credential, access_token is invalid or not latest hint

热门文章

  1. Pandas读取文件的OSError: Initializing from file failed错误解决
  2. 专业的创新创业服务平台盘点,想创业,选对平台很重要!
  3. Java实现大数相乘
  4. 斐波那契数列递归优化
  5. 你的python送你的文件传输助手
  6. Tyk-Hybrid模式安装—抽象方法论,重用它
  7. unity Nav 分层寻路
  8. mysql整段注释_MySQL的注释方式
  9. 数据分析人才短缺_在COVID-19大流行中,3D打印有助于医疗设备短缺
  10. 激光干涉仪角度检测机床加工精度