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方案

  • 相关阅读:
    Java & PHP RSA 互通密钥、签名、验签、加密、解密
    Spring Cloud:Security OAuth2 自定义异常响应
    Spring Cloud:统一异常处理
    Spring Cloud:多环境配置、eureka 安全认证、容器宿主机IP注册
    Hexo + GitEE 搭建、备份、恢复、多终端
    Spring:AOP面向切面编程
    如何找到适合自己的文档工具?
    比较好玩的工具类合集推荐!!!
    C++11 如何使代码仅执行一次?
    CMake 常用操作有哪些?
  • 原文地址:https://www.cnblogs.com/samaritan-z/p/8323539.html
Copyright © 2011-2022 走看看