python编码知识初始_ASCII码,Unicode,Utf-8,GBK
2024-09-06 10:53:44
谍战片,电报,摩斯密码,相应规则(暗号),编码解码;
电脑底层是高低电平来传输信息(OSI七层模型,最底层);文件存储的本质,也是二进制,01010101
美国:ASCII码(8位表示一个字节 0000 0001)
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。 [2]
ASCII码表网上可查。http://tool.oschina.net/commons?type=4
本来ASCII码只用到7位,设计者多留1位,预留以便以后扩展,所以ASCII码最左边的以为全是0(预留位)。
8位bit == 1个字节(byte) 1024(字节)byte = 1kb 1024 kb == 1MB 1024MB == 1GB 1024GB == 1TB
中文:9万多字,为满足全球化需求,ASCII码必须拓展。 美国为解决此问题,创建万国码,Unicode;
Unicode规定:
用一个字节(8位),表示所有的英文,特殊字符,数字等等
用四个字节(32位),表示一个中文,足够(统计:21位足够所有语言使用)
缺陷:浪费资源,空间,针对此问题,对Unicode进行升级,即utf-8
Utf-8(Unicode升级版)规定:一个中文 3个字节(24位)去表示,也包含其他语言。
GBK,仅在国内使用,一个中文用2个字节表示(不能包含所有中文)。
最好用:Utf-8
最新文章
- Struts2_ValueStack,OGNL详解(转)
- eclipse 自动排版
- Java中Sting转Timestamp
- ApplicationWindow
- Linux 网络编程详解八
- JSTL的c:forEach标签(${status.index})
- 【Android学习日记】
- Activity Threa创建Window和View分析
- php+支付宝整合
- Android NDK 环境搭建 + 测试例程(转)
- Android学习笔记--服务(Service)
- HTML行内元素、块状元素、行内块状元素的区别
- oracle ORA-00604/ORA-01653
- LDA工程实践之算法篇之(一)算法实现正确性验证(转)
- RE:考勤系统的复盘
- R语言-美国枪杀案分析
- TCP/IP学习笔记__mbuf
- [Abp 源码分析]四、模块配置
- Node.js api接口和SQL数据库关联
- Kafka 简要使用说明