zoukankan      html  css  js  c++  java
  • Computer Science

    Background - ASCII, Unicode & UTF-8 (in Python)

     

    1.基本概念:

    1)字符集:已编号字符的有序集合,包括字符编号和字符,对计算机没有直接意义

    2)编码方案:将字符集中的字符编号与二进制字符编码进行对应的映射

    3)编码单位(码元):计算机处理字符时一次读取的二进制位数

    4)编码:按照编码方案,由字符转换而来的二进制数据。在已知编码单位和映射关系时,计算机可以对字符进行编码,也可以对编码进行解码

    2.ASCIIUnicode & UTF-8的实质:

    1ASCII:字符集以及编码方案,用0~127128个字符做了编号,用8位作为编码单位,简单地把十进制编号转换而成的二进制数据作为编码

    2)广义Unicode

    Unicode:字符集,以16位二进制数对世界上几乎全部字符做了编号

    UTF-8:编码方案,以8位(一个字节)作为编码单位,按照一定规则(每字节前几位固定)将一个字符编码为14个字节

    3.ASCIIUnicode & UTF-8的应用背景:

    1ASCII:只能表示英文文本

    2Unicode:表示多语言文本,兼容ASCII

    3UTF-8:传输、存储用Unicode表示的多语言文本,去除Unicode中的冗余部分

    4.Python描述:

    1bytesstr类型:

    bytes:编码比特流,如0101101000101101

    str:字符串,如’Python’

    变量的类型可以用type()查看,或者以输出时是否带有b’’来区分

    2encodedecode方法:

    encodestr以声明的编码方案转换为bytes,也就是编码

    decodebytes以声明的编码方案转换为str,也就是解码

    5.Python中的字符操作:

    1)在将字符串存入硬盘和从硬盘中读取字符串的过程中,自动进行编码和解码

    2)为了避免乱码问题,应坚持使用UTF-8方案

  • 相关阅读:
    【bzoj2882】工艺 后缀自动机+STL-map
    【bzoj3884】上帝与集合的正确用法 扩展欧拉定理
    【bzoj1475】方格取数 网络流最小割
    【bzoj4825】[Hnoi2017]单旋 线段树+STL-set
    【bzoj4448】[Scoi2015]情报传递 主席树
    【bzoj1803】Spoj1487 Query on a tree III DFS序+主席树
    【bzoj2127】happiness 网络流最小割
    【bzoj2431】[HAOI2009]逆序对数列 dp
    【bzoj4245】[ONTAK2015]OR-XOR 贪心
    【bzoj4066】简单题 KD-tree
  • 原文地址:https://www.cnblogs.com/samaritan-z/p/8323539.html
Copyright © 2011-2022 走看看