赤脚论坛[原临沮论坛]

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7771|回复: 3

编程学习总结python之路之字符编码(改进版1)(图)

[复制链接]
     
鲜花(1) 鸡蛋(0)
荆楚不肖生 发表于 2018-7-25 14:49 | 显示全部楼层 |阅读模式 来自 湖北省宜昌市 电信

赶紧注册,享受更多功能!查看帖内大图!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编程学习总结python之路之字符编码(改进版1)(图)
1.什么是字符编码:
计算机是基于电工作的(产生高低电平),人们根据高低电平从逻辑的角度使高电平代表1,低电平代表0 ,所以机器语言的二进制编码是计算机所能直接认知的(无需转换),而无论是汇编语言还是高级语言它们的字符都需要根据某种映射关系使字符变成计算机所能理解的数字,这一过程就是字符编码
字符  -------------(根据字符编码表)---------->数字
2:为什么要有字符编码?
对于计算机,是将人类所写的字符转换为计算机所能理解的二进制数字,提供计算机使用
对于人类,是将计算机内存储的二进制转换为人类所能直观理解的字符,提供人类使用
编码表发展
3.1 最初的字符编码表
计算机是美国人发明的,美国人使用的英文字符,加上符号字符,有一百多种,而一位二进制所代表的状态为两种,所以美国人用8位二进制数(256种状态)来映射字符到数字的对应关系(第八位用于扩展,后来也加拉丁文写入),这个编码表就是ASCLL码  --->一个字符用八个bit表示,即一个字节
3.2 各国编码表的诞生
随着计算机在世界的普及,各国人发现ASCLL码并没有将自己国家的语言字符纳入映射关系中,而且8位的二进制所能代表的状态也远远不够,所以出现了中国的GBK,以16位二进制数代表一个中文字符,8位代表一个英文字符(区分中文英文则靠高字节,连续两个高字节即为中文),以及Shift_JIS编码(日本),Euc-kr编码(韩国)

编程学习总结python之路之字符编码(改进版1)(图)

编程学习总结python之路之字符编码(改进版1)(图)
3.3 unicode的诞生
各国码的诞生解决了自己国家的问题,但是用中国GBK编码写出来的软件美国能使用吗?为什么?
3.3.1 与程序运行有关的三大硬件:cpu,内存,硬盘
3.3.2  如何运行python程序?  
1.python解释器从硬盘加载到内存中
2.存储python的文本文件从硬盘加载到内存中
3.python解释器执行python语句(也只有这一阶段涉及到语法的概念)
3.3.3 在这个阶段,将字符写到硬盘的过程:字符  --根据GBK/-Shift_JIS/-Euc-kr->内存(临时存储这些格式的二进制)---->硬盘中(这些格式的二进制)
那么,对于根据GBK写入的数据,依照ASCLL是无法完成从内存二进制到字符转换过程的,由此诞生了unicode一个包含unicode二进制对应-------->字符<-----各国编码二进制对应的映射表(这是unicode必须拥有的特点,用于解决历史问题),另一个特点就是兼容万国,将所有国家的字符纳入映射关系(用于统一,但这要时间)  ------->unicode用2个bytes表示所有字符,也固定了内存中使用的就是unicode字符编码
3.4:utf-8的诞生
由于unicode是用2个bytes表示任何字符的(英文字符前八位全部补零),对于通篇的英文字符来说,多余的I/O操作使传输速度变慢,再者内存资源的浪费,所以出现了utf-8(unicode transfoemation format),采用一个字节表示英文字符,三个字节表示中文字符(生僻字可能更多)...
展望:对于旧的软件(用各国编码标准编写的)---->用unicode所包含的unicode二进制  ----->字符 <-------各国编码二进制的映射关系解决乱码问题,对于新程序统一用utf-8字符编码格式写入硬盘,待旧程序不再使用后,内存中使用utf-8编码,这时乱码问题不再存在,而且,从内存到硬盘中,直接可以将utf-8格式的二进制写入硬盘(无需转换)
几年前Python还是一门小众语言,但是近几年Python的百度搜索指数成指数级上升特别是从13年发布Python3.x后,穆斯林的葬礼读后感,由于其出色的兼容性和易学性,让其在17下半年至今的百度搜索指数甚至超过了Java。   
16年开始人工智能大火,甚至人们都在考虑人工智能代替人类的伦理问题,而人工智能和机器学习最重要的Python自然也成了人们热烈讨论的对象。Python火热在于它不仅仅可以用于人工智能,在更早的云计算最火的时候最著名的云计算开源平台 OpenStack也是基于 Python 开发的。
一条蟒蛇吞了吉多·范罗苏姆,并说谁才是真正的吉多·范罗苏姆。
由此反应出Python3.x相比与Python2.x太优秀,以至于人们怀疑两个版本是不是都出自吉多·范罗苏姆之手
“Python不需要杀手级别的应用,因为那样的话,Python在其他方面的作用就被忽略了。” 吉多·范罗苏姆曾经这样说。因此看出Python不仅在人工智能大数据方面,网络爬虫、数据分析、AI、机器学习、Web 开发、金融、运维、测试等多个领域都有不俗的表现,从来没有哪一种语言可以同时在这么多领域扎根。

百姓地盘、草根平台!手机访问论坛,更方便更快捷!
点击修改为自己的签名)本站客服QQ:
     
鲜花(4) 鸡蛋(0)
年轻就是资本 发表于 2018-7-26 13:44 | 显示全部楼层 来自 湖北省十堰市 电信
小手一抖,金币拿走。
百姓地盘、草根平台!手机访问论坛,更方便更快捷!
点击修改为自己的签名)本站客服QQ:
     
鲜花(19) 鸡蛋(0)
荆山野女 发表于 2018-7-26 17:17 | 显示全部楼层 来自 湖北省宜昌市 电信
姐顶的不是寂寞,是楼主的帖!
百姓地盘、草根平台!手机访问论坛,更方便更快捷!
点击修改为自己的签名)本站客服QQ:
     
鲜花(2) 鸡蛋(0)
子非鱼 发表于 2018-7-26 17:18 | 显示全部楼层 来自 广东省深圳市 电信
赞一个!
百姓地盘、草根平台!手机访问论坛,更方便更快捷!
点击修改为自己的签名)本站客服QQ:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|认证|简介|联系我们|赤脚网 ( 鄂ICP备18015422号 )

GMT+8, 2024-9-2 14:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

网站内容仅代表网友个人观点,非本站认同之观点!删帖请用删帖卡,或联系【 bbs@yalj.net 】我们会尽快处理。
声明:严禁任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!
技术管理:远安坤哥    主办单位:远安县临沮网信息管理中心
                   
快速回复 返回顶部 返回列表