字符编码
Posted lgh8023
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符编码相关的知识,希望对你有一定的参考价值。
字符编码
计算机三大核心硬件
CPU
内存
硬盘
"""
任何一个程序都是先存放与硬盘上的
要想运行起来 必须先由硬盘读取到内存
之后cpu去内存中取指然后执行
在运行的程序产生的数据最先都是存放与内存中的
"""
计算机是基于电工作的 那么计算机只能识别电信号
计算机内部存储数据用的都是01010101的二进制数据
文件的后缀名是干嘛的
文件的后缀名仅仅是给人看的
因为对应计算机来说所有的数据都是0101010的二进制
普通的文本编辑器和python解释器的工作流程
相同
1.
任何的程序要想运行都是先从硬盘读取到内存
2.
文本编辑器和python解释器都会去硬盘中读取你想要读取的文件内容
不同
3.
文本编辑器将文件内容读取之后仅仅是展示给用户看
而我们的python解释器会识别语法并执行python代码
详细
字符编码研究的范围只针对文本文件 音频、视频这些不包含在内
字符编码的发展史
1.
一家独大
计算机起源于美国
美国人用英文交流
但是计算机只能识别二进制数据
为了能够让计算机识别人类能够读懂的字符,这里面肯定有一个
人类字符 >> > 计算机二进制数据
中间的字符与数字的对应关系其实就是一张表
ASCII码表
这张表只记录了英文和数字的对应关系
用8位(bit)
来表示一个英文字符
1
bytes = 8
bit
1024
bytes = 1
KB
1024
KB = 1
MB
1024
MB = 1
GB
...
群雄割据
中国人也用得起计算机
自己做一个汉字跟数字对应关系
GBK
GBK表
汉字、英文
跟数字的对应
1
bytes来表示英文
2
bytes来表示汉字
如果出现了生僻字可能还需要用3bytes甚至跟多的bytes
日本人也用得起计算机
自己做一个汉字跟数字对应关系
shift_JIS
GBK表
日文、英文
跟数字的对应
韩国人也用得起计算机
自己做一个汉字跟数字对应关系
Euc_kr
Euc_kr表
韩文、英文
跟数字的对应
"""
我们在输入中文字符的时候
1.内部基于GBK翻译成了对应的二进制数据 在内存
2.然后将基于GBK编码的二进制数据刷到硬盘 永久保存
3.将硬盘中基于GBK编码的二进制数据读取到内存之后按照GBK编码的对应关系翻译成对应的中文
"""
3.
天下一统
万国码
unicode
兼容万国
并且跟之前所有国家的编码都有对应关系
1990
开始研究的
1994
年才开始正式使用
所有的字符都是用2bytes来存储
英文用2bytes
中文也用2bytes
以上是关于字符编码的主要内容,如果未能解决你的问题,请参考以下文章