python基础-14-史上最通俗易懂的编码讲解
2017-11-23 10:15
357 查看
常用编码 ascii unicode utf-8 gbk
编码ascii
unicode
utf-8
gbk
机器底层 只认识0 1
计算机开始设计:
8bit=1byte(字节)
0000 0000
每个位置只有0和1,
2**8=256也就是
0-255
西方国家:
ASCII表只有127个,每个字符一个字节26个大写字母+26小写字母+10个数字+特殊字符=127个
西方国家127个已经够了,128到255预留给其他国家使用
汉字 常用5000个 简体繁体加起来有2万多个
GB2312 6000汉字,兼容ASCIIGBK 包括了GB2312 的所有内容,增加了近20000个新的汉字(包括繁体字)和符号。
GB18030 将中国几乎所有的字符都收录了
编码混乱
各国都在将自己语言文字编码,ISO组织看不下去了,unicode应运而生unicode又叫万国码,设计占用2个字节(不管什么字符,都是2字节)
2**16
0-65535
UTF-8编码
unicode是一个字符集,收录所有字符,并没有存储情况英文只占1个字节 汉字占用3个字节
编码占用字节
ascii 一个字节gbk 两个字节
utf-8 英文字符1字节,汉字3字节
unicode 占用 2个字节
windows编码查看
cmd输入
chcp活动代码页:
936 -->cp936 -->gbk
utf-8和gbk使用范围:
utf-8存在的意义,节省空间,适用于英语字母比较多的情况。gbk适合中文比较多的情况。Windows编码为gbk,目的均为节省空间
python编码
在python3中:所有的字符串都是unicode,其他以utf-8编码s='中文' #unicode b=s.encode('utf8') #unicode-->utf8 每个汉字三个字节 # b'\xe4\xb8\xad\xe6\x96\x87' 占用6个字节 # \xe4 16进制 c=s.encode('gbk') #unicode-->gbk 每个汉字两个字节 b'\xd6\xd0\xce\xc4' 占用4个字节 # encode 编码: 看得懂---》看不懂 # decode 解码: 看不懂--->看的懂 #python查看系统编码 import sys sys.getfilesystemencoding() sys.getdefaultencoding()
相关文章推荐
- python 模块(module)基础讲解
- 【python数据挖掘课程】二十二.Basemap地图包安装入门及基础知识讲解
- 【14】Python100例基础练习(1)
- python基础——字符串和编码
- python基础整理——中文编码初探
- Python基础-编码与解码
- Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化
- Python基础——习题讲解、python乱码问题(0410)
- python基础知识——编码
- Python基础教程(一):简介、环境搭建、中文编码
- Python基础-JSON编码与解码
- 第三篇:python基础之编码问题
- Python3 机器学习实战自我讲解(一)机器学习基础
- 2015/9/18 Python基础(14):函数式编程
- Python基础-Json编码和解码操作
- python基础之字符编码
- python 网络框架twisted基础学习及详细讲解
- python基础之元组、文件操作、编码、函数、变量
- [python基础]关于中文编码和解码那点事儿
- 软编码Flv 到Mp4 容器(四) fmp4 总览和基础讲解