• 字符编码


    1. ASCII (American Standard Code for Information Interchange,美国信息互换标准代码) 是基于拉丁字母的一套电脑编码系统, 共定义了128个字符。

    编码方式:用一个字节表示 0x00~0x7F  缺点:只能显示26个基本拉丁字母、阿拉伯数目字和英式标点符号

    二进制 十进制 十六进制 字符 解释
    0000 0000 0 00 NULL(null)  
    0011 0000 48 30 0 数字0
    0100 0001 65 41 A  
    0110 0001 97 61 a  
    0111 1111 177 7F DEL 删除

    2. ANSI编码 不同的国家和地区制定了不同的标准,由此产生了 GB2312、GBK、Big5、Shift_JIS 等各自的编码标准。这些使用 1 至 4 个字节来代表一个字符的各种延伸编码方式,称为 ANSI 编码

    windows操作系统默认是ANSI编码。在简体中文OS中为GBK,在日文OS中为Shift_JIS。不同ANSI间不相互兼容。

    一个好玩的例子(百度百科)GBK:新建一个空的文本文件,用记事本打开(必须是Windows自带的记事本),只输入“联通”二字保存关闭(输入“1联通”也是联通显示的也是乱码),再重新打开时将是乱码!

    3. Unicode (万国码,统一码,国际码) 是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字。

    编码方式:两个字节表示一个字符

    实现方式:Unicode的实现方式不同于编码方式。一个字符的Unicode编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对Unicode编码的实现方式有所不同。Unicode的实现方式称为Unicode转换格式(Unicode Transformation Format,简称为UTF)

    例如:如果一个仅包含基本7位ASCII字符的Unicode文件,如果每个字符都使用2字节的原Unicode编码传输,其第一字节的8位始终为0。可以使用UTF-8编码,这是一种变长编码,它将基本7位ASCII字符仍用7位编码表示,占用一个字节(首位补0)。

    4. UTF-8 (8-bit Unicode Transformation Format) 是一种针对Unicode的可变长度字符编码

    它可以用来表示Unicode标准中的任何字符,且其编码中的第一个字节仍与ASCII兼容,这使得原来处理ASCII字符的软件无须或只须做少部分修改,即可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或发送文字的应用中,优先采用的编码。

    UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。

    字符 ASCII Unicode UTF-8
    A 0100 0001 0000 0000 0100 0001 0100 0001
    - 0100 1110 0010 1101 1110 0100 1011 1000 1010 1101

    在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码,可以节省空间~

    5. GBK(Chinese Internal Code Specification)汉字内码扩展规范

  • 相关阅读:
    Delphi 10.3.3解决Android 11闪退
    QuickCore
    Delphi 10.4.1使用传统代码提示方案
    LINUX SHELL条件判断
    C#程序集使用强名字(Strong Name)签名/强名称签名
    ASP.NET Core环境变量和启动设置的配置教程
    ASP.NET Core MVC获取请求的参数方法示例
    Fluentvalidation的基本使用
    netstat & crontab
    Linux/Centos下多种方法查看系统block size大小
  • 原文地址:https://www.cnblogs.com/coolqiyu/p/5530541.html
Copyright © 2020-2023  润新知