• ASCII, Unicode 与 UTF-8


    1,ASCII

    由于计算机是美国人发明的,最早只有127个字符,即大小写英文字母、数字、一些符号,被编码到计算机里,这个编码表就是ASCII表。这时每个字符用1 Byte表示。

    2,Unicode

    当其他语言也需要在计算机上表示时,1 Byte显然不够,这时Unicode出现了。Unicode试图把所有语言统一到一套编码,它与ASCII的区别是:ASCII用1 Byte表示字符;Unicode通常用2 Bytes,极端情况下用4~6 Bytes。ASCII扩展到Unicode也很简单,在前面补0即可。

    3,UTF-8

    Unicode的一个问题是效率,如果全篇文本都是英文,那么与ASCII相比Unicode占用的空间至少多了一倍。这时候又出现了把Unicode转化为“可变长编码”的做法,这就是UTF-8。UTF-8把一个Unicode根据不同数字大小编码成1~6 Bytes,常用英文字母1 Byte,汉字通常是3 Bytes,只有很偏僻的字符才会编码成4~6 Bytes。

    4,在计算机中的使用

    在计算机内存,统一使用Unicode编码,当需要保存到硬盘或者需要传输时,转换成UTF-8。

    例如,用记事本编辑文本时,

    image

    文件存在硬盘中,是UTF-8编码;用记事本打开文件,先转换成Unicode送到内存。

    又例如,浏览网页时,

    image

    上述内容来自 廖雪峰。

  • 相关阅读:
    React 生命周期及setState原理分析
    React Vue Angular 对比
    盒模型(一)
    CSS尺寸 rem与em原理与区别(二)
    HTTP 状态码
    React渲染机制
    HTTP三次握手四次挥手
    Java常见算法
    SharedPreferences存储数据
    解决ListView滑动上下出现阴影
  • 原文地址:https://www.cnblogs.com/freshair_cnblog/p/10001364.html
Copyright © 2020-2023  润新知