首页 > 代码库 > 字符编码
字符编码
1.单位换算:
1Bytes=8bit
1KB=1024Bytes
1MB=1024KB
1GB=1024MB
1TB=1024GB
2.发展史:
阶段一:
ASCII:
一个bytes代表一个字符(英文符/键盘上的所有其他字符)
1bytes=8bit
阶段二:中国人定制了GBK:
2bytes代表一个字符
阶段三:unicode
2bytes代表一个字符
UTF-8:
英文1bytes代表一字符;中文是3bytes代表一个字符
unicode---->优点:字符转换为二进制的速度快,缺点:占用空间大
utf-8---->优点:精准,节省空间;缺点:转换速度慢
3.内存中使用的编码是unicode,用空间换时间,保证尽可能快的运行
硬盘中使用的编码是utf-8,网络i/o延迟或磁盘i/o延迟要大于utf-8转换延迟。
4.字符编码的使用:
文件以什么编码保存就用什么编码读取,不然很容易乱码
乱码分两种情况:
1).保存时乱码:文件中有多国文字,以单一的编码存储就会产生乱码。例:文件中有英文,中文,韩文,单一的用shift jis,存储时就会出错。
2).读取时乱码:用utf-8保存,用gbk读取就会乱码
5.程序的执行:
1).启动python解释器
2).python解释器相当于文本编辑器,负责打开文件。即讲文件读取到内存。(python解释器会读取文件的第一行内容,#coding:utf-8,来决定以什么编码格式来读入内存,这一行就是来设定python解释器这个软件的编码使用的编码格式)
python2:默认ASCII python3:默认utf-8
3).读取已经加载到内存的代码(unicode编码的二进制),然后执行
6.python2与python3的区别:
1.)python2中有两种字符串类型:str&unicode
str:是编码后到bytes,只能decode(‘gbk/utf-8‘)回字符串
unicode:unicode类型的字符串是以unicode的格式存放到新的内存空间,只能encode(‘‘)回字符串
2).python3有两种字符串类型:str&bytes
str是unicode----->encode
bytes是bytes---->encode
字符编码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。