字符编码理论

字符编码理论

  1. 字符编码只针对文本数据

  2. 回忆计算机内部存储数据的本质

  3. 既然计算机内部只认识01 为什么我们却可以敲出人类各式各样的字符
    肯定存在一个数字跟字符的对应关系 存储该关系的地方称为>>>:字符编码本

字符编码发展史

  1. 一家独大
    计算机是由美国人发明的 为了能够让计算机识别英文
    需要发明一个数字跟英文字母的对应关系
    ASCII码:记录了英文字母跟数字的对应关系
    用8bit(1字节)来表示一个英文字符
  2. 群雄割据
    中国人
    GBK码:记录了英文、中文与数字的对应关系
    用至少16bit(2字节)来表示一个中文字符
    很多生僻字还需要使用更多的字节
    英文还是用8bit(1字节)来表示
    日本人
    shift_JIS码:记录了英文、日文与数字的对应关系
    韩国人
    Euc_kr码:记录了英文、韩文与数字的对应关系
    """
    每个国家的计算机使用的都是自己定制的编码本
    不同国家的文本数据无法直接交互 会出现"乱码"
    """
  3. 天下一统
    unicode万国码
    兼容所有国家语言字符
    起步就是两个字节来表示字符
    utf系列:utf8 utf16 ...
    专门用于优化unocide存储问题
    英文还是采用一个字节 中文三个字节

字符编码应用

1.针对乱码不要慌,切换编码慢慢试即可
2.编码与解码
编码:将人类的字符按照指定的编码编码成计算机能够读懂的数据
字符串.encode()
解码:将计算机能够读懂的数据按照指定的编码解码成人能够读懂
bytes类型数据.decode()
3.python2与python3差异
python2默认的编码是ASCII

1.文件头
# encoding:utf8
2.字符串前面加u
u'你好啊'

python3默认的编码是utf系列(unicode)

posted @ 2022-09-30 17:16  leethon  阅读(89)  评论(0)    收藏  举报