zoukankan      html  css  js  c++  java
  • [ python ] 字符编码

    字符编码

      这里主要描述以下三种编码方式:

      (1)ASCII

      (2)unicode

      (3)uft-8

      (4)gbk

    ASCII 码

      在计算机内部,所有的信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此 8 个 二进制位就可以组合成 256 种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示 256种不同的状态,每一个状态对应一个符号,就是 256 个符号,从 00000000 到 11111111

      美国定制了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 ASCII 码,一直沿用至今。

      一个字符用 1 个字节表示  1 byte = 8 bit

      ASCII 码只包含字母和英文中的特殊符号,不包括汉字;

    unicode (万国码)

      世界上存在很多种不同的编码,同一个二进制数字可以被解释成不同的符号。因此,想要打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式打开就会出现乱码。如果有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是 unicode 万国码的由来,这是一种所有符号的编码。

      字母:

        一个字母等于 4 个 byte = 32 bit

      汉字:

        一个字母等于 4 个 byte = 32 bit

      

    1. unicode 的问题

      需要注意的是, unicode 只是一个字符集,它规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。

      (1)如何才能区分 unicode 和 ASCII ? 计算机怎么知道三个字节表示一个符号,而不是分别表示三个符号呢?

      (2)英文在 ASCII 码中,只需要一个字节表示就够了,如果采用 unicode 统一规定,每个符号用三个或四个字符表示,这对于存储来说是极大的浪费,文本文件的大小胡因此大出二三倍。

    UTF-8 

      互联网的普及,强烈要求出现一种统一的编码方式。utf-8 就是在互联网上使用最广的一种 unicode 的实现方式。

      字母:

        一个字母等于 2 byte = 8 bit

      汉字:

        一个中文等于 3 byte = 24 bit

    GBK

      包含全部中文字符,utf-8则包含全世界所有国家需要用到的字符;

      字母:

        一个字母 1 byte = 8 bit

      汉字:

        一个汉字 2 byte = 16 bit

     =、==、is 三者的使用说明

    1. = 赋值

    例子:

    s1 = 'hkey'
    s2 = 'xiaofei'
    

    2. ==  比较值是否相等

    print( 1 == 2)
    
    # 执行结果:
    # False
    

    3. is 比较内存地址

    s1 = 6
    s2 = 6
    
    print(s1 is s2)
    
    # 执行结果:
    # True
    
    s11 = 'adfadsasdfasdff'
    s22 = 'adfadsasdfasdff1'
    
    print(s11 is s22)
    
    # 执行结果:
    # False
    
  • 相关阅读:
    AjaxEvent、AjaxMethod和Listeners的区别
    chm 文档突然打不开了
    ComboBox实现联动时所遇问题,待解!
    Silverlight 3 中使用WCF上传文件 (简单进度条展示)
    Eclipse 使用ApacheAnt 小记
    ApacheAnt 基础知识
    EClipse + Jdk + ApacheAnt + jetty + GWT + MySQL(Navicat)
    限制文本框输入N个字符的使用
    JAVA编程经验汇总 (载)
    Visual Studio 2010: Addin 的目录设置及其项目模板位置
  • 原文地址:https://www.cnblogs.com/hukey/p/9647291.html
Copyright © 2011-2022 走看看