技术咸鱼 技术咸鱼
首页
  • 《Django教程》
  • 《VuePress教程》
应用
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 网站
  • 资源
  • Vue资源网站
  • Flutter资源网站
  • 分类
  • 标签
  • 归档
关于
头像

公众号:技术咸鱼
首页
  • 《Django教程》
  • 《VuePress教程》
应用
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 网站
  • 资源
  • Vue资源网站
  • Flutter资源网站
  • 分类
  • 标签
  • 归档
关于
  • 网络架构

  • 计算机知识

    • 编码解码Encoding&Decoding
    • 编码规范
      • 编码解码Encoding&Decoding
      • 字符和字节
        • 字节
        • 字符
      • 编码规范
        • 字符集
        • 字符编码
        • ASCII
        • Unicode
  • Android高级
  • 计算机知识
技术咸鱼
2020-01-12

标题 编码规范

# 编码解码Encoding&Decoding

在介绍编码规范之前,我们先了解几个概念

编码解码Encoding&Decoding

# 字符和字节

# 字节

  • 字节:是计算机存储的一种计量单位.我们知道计算机只能识别0和1组成的二进制数,一个数据就是一bit(位),为了统一计算,我们规定8个bit(位)就是一个字节,也就是我们常用的byte.

# 字符

  • 字符:可以理解我们现实中见到的每个单个英文,中文,数字,特殊符号,emoji表情等我们能用输入法打出的东西就是字符.

需要注意的是英文,中文,数字,特殊符号,emoji在每种编码中占的字节数可能不一致,同一个字符在不同的编码中也不一样, 如在GBK编码中一个汉字占2个字节,在UTF-8编码中一个汉字占3个字节.

随着技术的发展,我们越来越多的需要计算机现实字符,但是计算机只能识别0和1二进制数,于是就出现了编码规范

# 编码规范

为了现实字符,国际组织就制定了编码规范,希望使用不同的二进制数代表不同的规范,这样支持编码规范的计算机就能根据二进制数显示出字符了. 每套编码规范都有其使用场景,比如,GBK(国标)就是为了解决早期计算机不支持中文,由中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订的一套编码规范。 为了更好的了解编码规范,下面我们介绍下编码规范中的2个子概念

# 字符集

字符集:就是很多个字符集合,例如 GB2312是简体中文的字符集,它收录了六千多个常用的简体汉字及一些符号,数字,拼音等字符.

# 字符编码

字符编码:是字符集的一种实现方式,把字符集中的的字符映射为特定的字节或者字节序列. 如Unicode是字符集,UTF-8,UTF-16,UTF-32是字符编码规则

常见的字符集有 ASCII,GBK,Unicode 常见的字符编码有 UTF-8,UTF-16 EUC-CN等

下面简单介绍写ASCII

# ASCII

ASCII (American Standard Code for Information Interchange):美国信息交换标准代码是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言.它是最通用的信息交换标准,并等同于国际标准 ISO/IEC 646,ASCII第一次以规范标准的类型发表是在1967年.最后一次更新则是在1986年,到目前为止共定义了128个字符.

标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母, 数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符.

  • 0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符).

  • 在英语中,用128个符号编码便可以表示所有,但是用来表示其他语言,128个符号是不够的,这样一来,这些欧洲国家使用的编码体系,可以表示最多256个符号.

  • 所有引申的ASCII编码方式中,0--127表示的符号是一样的,不一样的只是128--255的这一段.

  • ASCII中一个字节对应一个字符]

    ASCII字符代码表

# Unicode

Unicode是为了解决不同国家,不同的文字系统就要使用不同的编码标准过多,处理混乱的问题, 是现在最通用的一种编码规范,也称万国码.

现在大家最常用的是utf8,

注:不同字符编码规则不一样,字节范围也不一样,如果随便指定byte数组进行编码然后解码,则最终结果不一定如预期,产生乱码.
#编码规范
上次更新: 2023/01/12, 16:26:34
编码解码Encoding&Decoding

← 编码解码Encoding&Decoding

最近更新
01
Mac使用ngrok内网穿透
01-04
02
Gradle build failed to produce an .apk file.
07-28
03
flutter构建为 Web 应用
07-27
更多文章>
Copyright © 2019-2023 oopanda | 皖ICP备19017961号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
×