7. 编码

注:博主并非Python专业程序员,年龄12岁,Python龄不到1岁,才疏学浅,如有错误还请大佬指教!😃 希望能通过本专栏帮助到一些Python小白!

嗨~大家好,这一讲我们说说编码。

编码是个什么玩意?

先要搞清楚内存和存储

首先我们要说明白一个东西。
电脑大约分为这么几部分:
CPU、GPU、存储、内存、电池。
那么其他的大部分人都能分清楚,唯独存储和内存很少有人能搞明白。内存是指在运行中产生的临时内容的储存地,而存储则是永久储存的,除非你编辑它。
好的,说明白了这个,就好办了。首先,电脑不管是在内存还是存储中的东西都不是真的存储的这些字、这些图像、这些音频等等,都是这种东西:

0101001110101010101010101010100000000101010100101010
1010101011101101111010101010100101010001111101010101

这个东西叫二进制码。那么他们是如何把我们的这些文字啊,图片啊什么的转换成这么一堆数字的呢?就用编码。

有哪些常见的编码?

ASCII

在早期,美国创造了第一套电脑的编码,叫ASCII。这个玩意只能把英文字母、数字和一些符号转换成一个字节,也就是8个二进制数字,比如10001101。

优点

省空间啊,一个字只用8个数字就搞定。

缺点

只能显示英文字母、数字和符号,那我要是想要输入中文咋整?这就引出了接下来的编码,它叫:

Unicode

包含全世界所有的文字与二进制0101001的对应关系。

优点

容纳的东西多,什么语言都能搞定。

缺点

费空间。因为亚洲很多语言都有很多字,需要3个字节,然而那些本来一个字节就能搞定的字符你还非得用3个字节,浪费的那些字节你拿来干点啥不好……

GBK

GBK除了包含ASCII所包含的东西以外,还有中文。

优点

英文、数字、符号它就用一个字节,中文就用两个字节。不像Unicode浪费空间。

缺点

唉~万一我想用日语什么的发个东西给日本笔友,还费劲了……我要不试试下面这个编码……

UTF-8

包括全世界文字,不过比Unicode省空间。

优点

ASCII码中的字符:一个字符一个字节表示。
欧洲文字:葡萄牙,西班牙等一个字符两个字节表示。
亚洲文字;一个字符三个字节表示。

缺点

在日常使用中一般不会遇到问题~~

所以,乱码是为啥?

先说明一点,就是不同编码可能用同样的二进制数字表示不同的字符,就是比如别人用编码方式1给你发来一个字符,但是你的设备的打开方式是编码方式2,那么就会出现乱码。
乱码

系统默认编码是什么?

目前MacOS还有Linux默认打开和写入编码都是UTF-8,但是Windows只有Win10的较新版本是UTF-8,其余都是用的GBK。

还要注意什么?

现在有个硬性规定,内存中都要用Unicode,但是要存储到硬盘或者是分享到网络时,必须转换为非Unicode编码,比如UTF-8。不过你不要太担心,计算机已经自动为你转换完了,只是记住就好。

好了,本文是不是非常乏味无趣呢?不不不,你到了下一篇一定不会觉得白读了的。下一篇我们唠唠对文件的操作,比如用Python编辑文档什么的。这一篇是个铺垫,不然你看下一篇容易懵。
好的,我是小曹162020,有问题可以随时联系我。下一篇再见!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值