标签:字符 英文 计算机 编码 utf8 Python06 unicode
今日内容概要
- 字符编码
- 文件操作
- 登录注册功能
今日内容详细
字符编码
计算机是基于电工作的,而电信号只有高低电平两种状态,也就是说计算机只认识两种状态,认为的定义为数字0和1即二进制。
人类的字符与数字之间存在对应关系,相当于发电报彼此携带的密码本一样。
字符编码发展史
-
一家独大
因为计算机是美国人发明的,计算机只认识01二进制,为了让计算机认识英文,美国人制定了一个由二进制数字组合与英文字符的对应关系>>>"字符编码表"
ASCII码表:记录了英文字符与数字的对应关系,用一个字节来表示英文字符
1bytes = 8bit # 2的八次方 256
英文字符跟符号总共加起来不超过127个
该阶段的计算机只认识英文不认识其他国家的字符 -
群星割据
渐渐地其他国家也开始使用计算机,为了能让计算机认识本国文字,各自制定了不同的编码表
中国人GBK编码表:记录了中文字符、英文字符与数字对应关系,用两个字节来表示中文 一个字节表示英文字符
2bytes = 16bit # 2的十六次方 65536 有时候针对生僻字无法表示 需要更多位数3bytes 4bytes
韩国人Euc_kr编码表:记录了韩文字符、英文字符与数字的对应关系
日本人shift_JIS编码表:记录了日文字符、英文字符与数字的对应关系
该阶段的计算机不同国家使用不同的编码表 -
天下一统
群雄割据阶段有一个不可忽视的问题:不同国家计算机之间数据无法交互,为此人类发明了unicode编码表。
unicode编码表(万国码):内部兼容万国语言,所有的字符全部采用2bytes来表示 如果不够则增加位数。但是这也会出现一个问题,针对纯英文的文本数据原本只需要比如1G的容量,那么采用了unicode之后就需要2G的容量,读取文件的时间也翻倍了,这时就得靠utf8编码
utf8编码(unicode转换版本):会对unicode编码做优化,英文还是用1bytes来表示。 # 内存使用unicode兼容万国 存储到硬盘使用utf8节省资源
该阶段的计算机不同国家也可以无障碍的交互
结论:现在的文本文件默认都使用utf8编码
标签:字符,英文,计算机,编码,utf8,Python06,unicode 来源: https://www.cnblogs.com/hzh1678053026/p/15147664.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。