python基础-13-史上最通俗易懂的编码讲解

史上最通俗易懂的编码讲解,python基础

常用编码 ascii unicode utf-8 gbk

# 编码  ascii  unicode  utf-8  gbk
机器底层 只认识0 1


计算机开始设计:8bit=1byte (字节)
0000 0000  
每个位置只有012**8=256也就是 0-255

#西方国家:
ASCII表只有127个,每个字符一个字节  
26个大写字母+26小写字母+10个数字+特殊字符=127个
西方国家127个已经够了,128255预留给其他国家使用

#汉字  常用5000个  简体繁体加起来有2万多个
    #GB2312  6000汉字,兼容ASCII
    #GBK 包括了GB2312 的所有内容,增加了近20000个新的汉字(包括繁体字)和符号。 
    #GB18030  将中国几乎所有的字符都收录了

#  各国都在将自己语言文字编码,ISO组织看不下去了,unicode应运而生
    # unicode又叫万国码,设计占用2个字节(不管什么字符,都是2字节) 2**16  0-65535

#UTF-8  unicode是一个字符集,收录所有字符,并没有存储情况
    #  英文只占1个字节  汉字占用3个字节

# ascii 一个字节  gbk 两个字节  utf-8 英文字符1字节  汉字3字节
# 8bit=1byte (字节)  unicode ---》 全部为2个字节


#windoow编码查看  
cmd 输入 chcp    活动代码页: 936  -->cp936 -->gbk


utf-8和gbk使用范围:
#utf-8存在的意义,节省空间,适用于英语字母比较多的情况。
#gbk适合中文比较多的情况。Windows编码为gbk,目的均为节省空间

7ffdb434-28fa-40ad-859b-c7e8463fd511Ori.png

670de926-9cea-4d33-a4fb-7d16532c780cOri.jpg



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()
  • 发表于 2017-11-23 10:20
  • 阅读 ( 2100 )
  • 分类:python

0 条评论

请先 登录 后评论
不写代码的码农
doublechina

IT

31 篇文章

作家榜 »

  1. 威猛的小站长 124 文章
  2. Jonny 65 文章
  3. 江南烟雨 36 文章
  4. - Nightmare 33 文章
  5. doublechina 31 文章
  6. HJ社区-肖峰 29 文章
  7. 伪摄影 22 文章
  8. Alan 14 文章