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

Python 全栈工程师核心面试 300 问深入解析(2020 版)----全文预览

Python 全栈工程师核心面试 300 问深入解析(2020 版)----欢迎订阅

对于python中中文无法显示,可在首行添加以下代码即可:

# -*- coding: utf-8 -*-

# coding: utf-8

# coding=utf-8

# -*- coding: cp936 -*-

# -*- coding: ascii -*-

最常用就是,
一般采用# 注释。只需要在代码首行加上:就可以正常中文显示

# coding: utf-8

或者

# -- coding: utf-8 -- (将编码转换成utf-8格式,支持中文显示,但是三个双引号中间的中文注释还是报错,注意两个短横线中间有*号,未显示出来)

对于定义方法下采用三个双引号中文注释用上面代码还是会报错,可以首行使用以下代码即可:

# -- coding: cp936 --

CP936和UTF-8的区别

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基础语法)