我是靠谱客的博主 懦弱白羊,最近开发中收集的这篇文章主要介绍python基础-14-史上最通俗易懂的编码讲解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

常用编码 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汉字,兼容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字节
  • unicode 占用 2个字节

windows编码查看

cmd 输入 chcp 活动代码页: 936 -->cp936 -->gbk

utf-8和gbk使用范围:

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

ascii码对应表

python编码

在python3中:所有的字符串都是unicode,其他以utf-8编码

s='中文'
#unicode
b=s.encode('utf8')
#unicode-->utf8
每个汉字三个字节
# b'xe4xb8xadxe6x96x87'
占用6个字节
# xe4
16进制
c=s.encode('gbk')
#unicode-->gbk
每个汉字两个字节
b'xd6xd0xcexc4'
占用4个字节
# encode 编码: 看得懂---》看不懂
# decode 解码: 看不懂--->看的懂
#python查看系统编码
import sys
sys.getfilesystemencoding()
sys.getdefaultencoding()

常用编码转换关系

最后

以上就是懦弱白羊为你收集整理的python基础-14-史上最通俗易懂的编码讲解的全部内容,希望文章能够帮你解决python基础-14-史上最通俗易懂的编码讲解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(82)

评论列表共有 0 条评论

立即
投稿
返回
顶部