• python字符编码总结


    定义

    编码是信息从一种形式或格式转换为另一种形式的过程。解码,是编码的逆过程

    字符编码(Character encoding)是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对
    计算机因为物理特性,只能识别高低压,即:“010100” 这样的二进制;为了识别人类的自然语言,美国人于1963年开发了一套Ascii码。这是最开始的字符编码。
    计算机传入中国后,中国人在Ascii基础上,往后开发了GB2312,但是字数只有六千多。后来,为了发展需要,又制作了GBK标准。
    国际标准化组织为了统一编码,提出了标准编码准则:UNicode;但是由于unicode占用的空间较大,又在这基础上进行改善,制作了UTF-8(8-bit Unicode Transformation Format),它是一种针对Unicode的可变长度字符编码,可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度,当字符在ASCII码的范围时,就用一个字节表示,所以是兼容ASCII编码的。
    Unicode是内存编码表示方案(是规范),而UTF是如何保存和传输Unicode的方案(是实现)这也是UTF与Unicode的区别。

    unicode:英文字符占2字节,中文占2字节
    utf-8:英文字符占1字节,中文占3字节
    GB2312:英文字符占1字节,中文占2字节

    python2和python3
    py2有两种字符串类型:
    str类型:bytes(二进制)形式存储在内存
    unicode类型:unicode(二进制)形式存储在内存中

    s1 = “北京” bytes类型
    s2 = u“北京” unicode类型
    repr()

    p2默认为ascii码解码

    py3也有两种字符串类型:
    str类型:以unicode形式(一种二进制)存储在内存中
    bytes类型:bytes形式(一种二进制)存储在内存中
    s1 = "上海" uncide形式储存
    s2 = b“上海” bytes形式储存,只能识别ascii码,这个print(s2)会报错 bytes can only contain ASCII literal characters.


    p3默认为utf-8码解码

    win的操作系统安装时是默认的gbk编码,而linux操作系统默认的是utf8编码

  • 相关阅读:
    [C4] 前馈神经网络(Feedforward Neural Network)
    [C3] 正则化(Regularization)
    [C2] 逻辑回归(Logistic Regression)
    [C1] 线性回归(Linear Regression)
    Python基础学习
    装饰器
    完全理解Python迭代对象、迭代器、生成器
    django自己搭建的博客
    git学习,哇瑟说实话我想要的
    类继承和多态,子类重写构造函数,多重继承学习
  • 原文地址:https://www.cnblogs.com/greatkyle/p/6661867.html
Copyright © 2020-2023  润新知