关于字符编码的学习内容笔记如下:
1 计算机只能用 0 和 1 来进行记录和存储计算机是二进制
2ASCII(American Standard Code for Information Interchange, 美国标准信息交换代码) 是基于拉丁字母的一套电脑编码系统, 主要用于显示现代英语和其他西欧语言, 其最多只能用 8 位来表示 (一个字节), 即: 2**8 = 256-1, 所以, ASCII 码最多只能表示 255 个符号一个英文或者英文符号占一个字节
31980 年中国为了解决计算机输入的问题, 制定了 GB2132 编码 2000 年后大幅度扩展成为 GB18030 解决了汉字输入问题
4ASCII 码无法将世界上的各种文字和符号全部表示, 所以, 就需要新出一种可以代表所有字符和符号的编码, 即: UnicodeUnicode(统一码万国码单一码) 是一种在计算机上使用的字符编码 Unicode 是为了解决传统的字符编码方案的局限而产生的, 它为每种语言中的每个字符设定了统一并且唯一的二进制编码, 规定虽有的字符和符号最少由 16 位来表示 (2 个字节), 即: 2 **16 = 65536Unicode 中, 一个英文字符占一个字节, 一个中文字符占 2 个字节
5UTF-8 是对 Unicode 编码的压缩和优化, 他不再使用最少使用 2 个字节, 而是将所有的字符和符号进行分类: ascii 码中的内容用 1 个字节保存欧洲的字符用 2 个字节保存, 东亚的字符用 3 个字节保存
6Python2.7 默认支持 ascii 码, 因此会出现中文字符输出的问题需要加上# -*- coding: utf-8 -*- 来告诉解释器, 用什么字符编码 Python3 以上默认采用 UTF-8 编码, 无需加# -*- coding: utf-8 -*-
来源: http://www.bubuko.com/infodetail-2513840.html