python学习关于字符编码

Posted 围岭山上的山文居士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习关于字符编码相关的知识,希望对你有一定的参考价值。

关于字符编码的学习内容笔记如下:

1、计算机只能用0和1来进行记录和存储。计算机是二进制。

2、ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。一个英文或者英文符号占一个字节。

3、1980年中国为了解决计算机输入的问题,制定了GB2132编码。2000年后大幅度扩展成为GB18030。解决了汉字输入问题。

4、ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode。Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536。Unicode中,一个英文字符占一个字节,一个中文字符占2个字节。

5、UTF-8是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存

6、Python2.7默认支持ascii码,因此会出现中文字符输出的问题。需要加上# -*- coding: utf-8 -*-来告诉解释器,用什么字符编码。Python3以上默认采用UTF-8编码,无需加# -*- coding: utf-8 -*-。

以上是关于python学习关于字符编码的主要内容,如果未能解决你的问题,请参考以下文章

TodoPython字符编码学习

python day3 学习整理

python03之编码学习

Python学习-str与byte类型以及编码

关于sqlmap当中tamper脚本编码绕过原理的一些总结(学习python没多久有些地方肯定理解有些小问题)

python后续学习