python初始编码_Python基础之初始编码

前言

程序中的编码问题你不搞明白,那么你的程序生涯中它会像幽灵一样伴随着你的职业生涯。

首先要搞清楚一个概念:计算机中认识什么?它认识的是010101这种二进制,却不认识中文不认识英文

那么,这个时候问题来了,我们写的英文,写的汉字是怎么转变成机器识别的010101的二进制的数字的呢?

ascii码闪亮登场

0000 0001 8位(bit) == 1个字节(byte)

1024byte == 1KB

1024KB == 1MB

1024MB == 1GB

1024GB == 1TB

1024TB == 1PB

在最初设计ascii码之初,设计者并没有想到有一天计算机会被全世界应用的如此广泛,所以它们只设定了

7位的0000001数字去映射一个英文,每一位都是01两种可能,共2的7次方128种可能,但是预留了一位 0 以备不时之需

所以8位代表一个字节,但是让它不是黄种人的码,他解译不了中文

中文大概有9W多个字,2的16次方也仅仅才6w多,还是包含不了全部的中文,为了解决这个全球化的问题,老美创建了一

个万国码unicode

unicode

1个字节8位代表256种可能,表示所有的英文,特殊字符,数字等等

最开始给了中国2个字节,8位代表一个字节,那么2的16次方6W多种可能也是包含不够

4个字节 2的32次方 代表一个中文字体 包含了全世界的可能,有点浪费了,为了解决这个

问题,utf-8 闪亮登场

utf-8

3个字节2的16次方种可能 代替一个中文

GBK(仅限国内使用,里面全是中文的映射)

2个字节2的8次方种可能 代表一个中文(但是还是包含不够所有的中文)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值