计算机常见编码规范速查表

有关编码的基础知识

1. 位 bit 最小的单元

字节 byte 机器语言的单位

1byte=8bits

1KB=1024byte

1MB=1024KB

1GB=1024MB

2. 二进制 binary

八进制 octal

十进制 decimal

十六进制 hex

3. 字符:是各种文字和符号的总称,包括各个国家的文字,标点符号,图形符 号,数字等。

字符集:字符集是多个符号的集合,每个字符集包含的字符个数不同。

字符编码:字符集只是规定了有哪些字符,而最终决定采用哪些字符,每一 个字符用多少字节表示等问题,则是由编码来决定的。计算机要 准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。

常见字符集的编码介绍 

常见的字符集有:ASCII 字符集,GB2312 字符集,BIG5 字符集,GB18030 字符集, Unicode 字符集,下面一一介绍:
1. ASCII 字符集:

  • 定义: 美国信息互换标准代码,是基于罗马字母表的一套电脑编码系统,主要显示 英语和一些西欧语言,是现今最通用的单字节编码系统。
  • 包含内容: 控制字符(回车键,退格,换行键等) 可显示字符(英文大小写,阿拉伯数字,西文符号) 扩展字符集(表格符号,计算符号,希腊字母,拉丁符号)
  • 编码方式: 第 0-31 号及 127 号是控制字符或通讯专用字符; 第 32-126 号是字符,其中 48-57 号为 0-9 十个阿拉伯数字,65-90 号为 26 个 大写英文字母,97-122 号为 26 个英文小写字母,其余为一些标点符号,运 算符号等。 在计算机存储单元中,一个 ASCII 码值占一个字节(8 个二进制位),最高位 是用作奇偶检验位。【奇偶校验是指:在代码传送的过程中,用来检验是否 出错的一种方法。】奇偶校验分为奇校验和偶校验。奇校验规定:正确的代 码一个字节中 1 的个数必须是奇数,若非奇数,则在最高位添 1;偶校验规 定:正确的代码一个字节中 1 的个数必须是奇数,若非奇数,则在最高位添 1。

2. GB2312 字符集:

  • 定义: 信息交换用汉字编码字符集。是中国标准的简体中文字符集,它所收录的汉 字已经覆盖 99.75%的使用频率,在中国大陆和新加坡广泛使用。
  • 包含内容: GB2312 收录了简化汉字及一般字符,序号,数字,拉丁字母,日文假名, 希腊字母,俄文字母,汉语拼音符号,汉语注音字母,共 7445 个图形字符。 其中包括 6763 个汉字,一级汉字 3755 个,二级汉字 3008 个。
  • 编码方式: GB2312 对所收汉字进行了“分区”处理,每区含有 94 个汉字或者符号,这 种表示方法也叫做“区位码”。 它是用双字节表示的,前面的字节为第一字节,又称“高字节”,后面的为 第二字节,“低字节”。 高位字节,把 01-87 区的区号加上 0xA0(相当于数字 160);低位字节把 01-94 区的区号加上 0xA0(相当于数字 160)。 举个简单的小例子:第一个汉字— —“啊”,它的区号为 16,位号 01,则区位码是 1601。则高字节位: 16+0xA0=0xB0;低字节位:01+0xA0=0xA1,所以“啊”的汉字处理编码为 0xB0A1。

3. GBK 字符集:

  • 定义: GBK 是 GB2312 字符集的扩展(K)(中国的中文编码表升级,融合了更多的 中文文字符号。),它收录了 21886 个符号,它分为汉字区和图形符号区, 汉字区包括 21003 个字符。GBK 字符集主要扩展了繁体中文字的支持。

4. BIG5 字符集:

  • 定义: 又称大五码,由台湾五家软件公司创立。因为当时台湾没有一个标准的字符 集,而且 GB2312 又没有收录繁体字,所以才推出了 BIG5。 ? 包含内容: BIG5 字符集共收录了 13053 个中文字,该字符集在台湾使用。但是没有考虑 到社会上流通的人名,地方用字,方言用字,化学及生物科等用字,没有包 含日文平假名及片假字母。
  • 编码方式: BIG5 也采用双字节存储方法,一两个字节编码一个字。高位字节的编码范围 是 0xA1-0xF9,低位字节的编码范围是 0xA1-0xFE。

5. GB18030 字符集:

  • 定义: GB18030 字符集标准解决汉字,日文假名,朝鲜语和中国少数民族文字组成 的大字符集计算机编码问题。 ? 包含内容: 该标准的字符总编码空间超过 150 万个编码位,收录了 27484 个汉字,覆盖中文,日文,朝鲜语和中国少数民族文字。满足中国大陆,香港,台湾,日 本和韩国等东南亚地区信息交换多文种,大字量,多用途,统一编码格式的 要求。
  • 编码方式: GB8030 标准采用单字节,双字节和四字节三种方式对字符编码。 单字节部 分使用 0x00-0x7F 码(对应于 ASCII 码的相应码); 双字节部分,首字节码从 0x81-0xFE,尾字节码分别是 0x40-0x7E 和 0x80-0xFE。 四字节部分采用 0x30-0x39 作为双字节编码扩充的后缀,这样扩充的四字节 编码,其范围是 0x81308130-0x0xFE39FE39,其中第一,三个字节编码位均为 0x81-0xFE,第二,四个为 0x30-0x39。

6. ISO8859-1:拉丁码表。欧洲码表用一个字节的 8 位表示。 

7. Unicode 字符集:

  • 定义: (国际标准码,融合了多种文字。所有文字都用两个字节来表示,Java 语言使用的就是 unicode) University multiple-object coded character set(通用多 八位编码字符集),支持世界上超过 650 种语言的国际字符。Unicode 允许在 同一服务器上混合使用不同语言,它为每种语言的每个字符设定了统一并且 唯一的二进制编码,以满足跨平台,跨语言进行文本转换,处理的要求。
  • 编码方式: Unicode 标准始终使用十六进制数字,固定使用 2 个字节来表示一个字符, 共可以表示 65536 个字符。而且书写时在前面加上前缀“U+”,例如 A 的编 码是 004116,则书写成“U+0041”。
  • Unicode 字符集包含的编码方案:
  1. UTF-8: (最多用三个字节来表示一个字符。) UTF8 是 unicode 其中的一个使用方式。UTF 的意思是: unicode translation format,即把 unicode 转作某种格式的意思。UTF-8 使用可变长度字节来存储 unicode 字符,如 ASCII 字母还是采用一个 字符来存储,希腊字母等采用 2 个字符来存储,而常用的汉字要使 用 3 字节,辅助平面字符则使用 4 字节。
  2. UTF-16: 使用一个或两个未分配的 16 位代码单元的序列对 unicode 代码 点进行编码,即 2 个字节表示一个字符。
  3. UTF-32: 将每一个 unicode 代码点表示为相同值的 32 位整数。
  4. 关于 unicode 编码的一个问题: 使 用 记 事 本 另 存 为 时 , 可 以 在 ANSI , GBK,Unicode , unicode big endian 和 UTF-8 这几种编码之间相互转换。同样是 txt 文 件,windows 是怎么识别编码的呢? 答:平时注意的话可以发现 Unicode,unicode big endian 和 UTF-8 编码的 txt 文件的开头会多出几个字节,分别是(FF,FE),(FE,FF), (EF,BB,BF)。那么这些标记都是基于什么标准呢?

ANSI 字符集:ASCII 字符集,以及由此派生并兼容的字符集。 UTF-16 与 UTF-8:如“连通”两个字,在 UTF-16 中为:DE 8F 1A 90, 两个字节决定一个汉字;在 UTF-8 中则为:E8 BF 9E E9 80 9A,即 3 个字节决定一个字符。 当一个软件打开一个文本时,首先是要决定这个文本究竟是使用 哪种字符集的哪种编码保存的,软件一般采用三种方式来决定文本 的字符集和编码:检测文件头标识,提示用户选择,根据一定的规 则猜测。不同编码方式的开头字节如下: EF BB BF UTF-8 FF FE UTF-16,little endian FE FF UTF-16,big endian FF FE 00 00 UTF-32, little endian 00 00 FE FF UTF-32,big endian 注:endian 是指字节序,big endian(大尾)和 little endian(小 尾)是 CPU 处理多字节数的不同方式。例如“汉”的 unicode 编码 是 6C49,写到文件中,如果将 6C 写在前面就是 big endian,将 49 写在前面就是 little endian。

总结 

从 ASCII,GB2312,GBK 到 GB18030,这些编码方法是向下兼容的,即同一 个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编 码中,英文和中文可以统一的处理。区分中文编码的方法是高字节的最高位不为 0。

计算机使用的缺省编码方式就是计算机的内码。有的中文 windows 的缺省内 码还是 GBK,可以通过 GB18030 升级包升级到 GB1030。不过相对 GBK 新增的字 符,普通人很难用到的,通常我们用 GBK 来指代中文 windows 内码。 GB2312 的原文是区位码,从区位码到内码,需要在高字节和低字节上分别 加上 A0。

本文由“云端木瓜”整理总结,转载请注明出处

This article from the "云端木瓜" finishing summary, reproduced please indicate the source.

时间: 2024-12-16 13:44:36

计算机常见编码规范速查表的相关文章

windows端口号速查表

windows端口号速查表 1 tcpmux TCP 端口服务多路复用  5 rje 远程作业入口  7 echo Echo 服务  9 discard 用于连接测试的空服务  11 systat 用于列举连接了的端口的系统状态  13 daytime 给请求主机发送日期和时间  17 qotd 给连接了的主机发送每日格言  18 msp 消息发送协议  19 chargen 字符生成服务:发送无止境的字符流  20 ftp-data FTP 数据端口  21 ftp 文件传输协议(FTP)端口

GNU Emacs命令速查表

GNU Emacs命令速查表 第一章  Emacs的基本概念 表1-1:Emacs编辑器的主模式 模式 功能 基本模式(fundamental mode) 默认模式,无特殊行为 文本模式(text mode) 书写文字材料(第二章) 邮件模式(mail mode) 书写电子邮件消息(第六章) RMAIL模式(RMAIL mode) 阅读和组织电子邮件(第六章) 只读模式(view mode) 查看文件,但不进行编辑(第五章) shell模式(shell mode) 在Emacs里运行一个UNIX

【转】游戏程序员的数学食粮05——向量速查表

原文:http://gad.qq.com/program/translateview/7172922 翻译:王成林(麦克斯韦的麦斯威尔)  审校:黄秀美(厚德载物) 这是本系列大家盼望已久的第五篇.如果你对向量了解不多,请先查看本系列的前四篇文章:介绍,向量基础,向量的几何表示,向量的运算. 这篇速查表会列举一些游戏中常见的几何问题,以及使用数学向量解决它们的方法. 基本向量运算的完整表单 首先,先复习一下. 首先我假设你有一个可用的向量类.它的功能大部分集中在2D上,但是3D的原理相同.差别只

每个程序员都应该收藏的算法复杂度速查表

算法复杂度这件事 这篇文章覆盖了计算机科学里面常见算法的时间和空间的大 O(Big-O)复杂度.我之前在参加面试前,经常需要花费很多时间从互联网上查找各种搜索和排序算法的优劣,以便我在面试时不会被问住.最近这几年,我面试了几家硅谷的初创企业和一些更大一些的公司,如 Yahoo.eBay.LinkedIn 和 Google,每次我都需要准备这个,我就在问自己,“为什么没有人创建一个漂亮的大 O 速查表呢?”所以,为了节省大家的时间,我就创建了这个,希望你喜欢! — Eric 图例 绝佳 不错 一般

Git操作手册|命令速查表

这篇文章主要介绍Git分布式版本管理与集中式管理的一些差异,总结下Git常用命令作为日后的速查表,最后介绍Git进阶的一些案例.本文分为以下几个部分: Git与SVN差异 Git常用命令 Git进阶指南 Git与SVN差异 Git的第一个版本是Linux之父Linus Torvalds亲手操刀设计和实现的,Git 基于 DAG 结构 (Directed Acyclic Graph),其运行起来相当的快,它已经是现在的主流. Git 和 SVN 思想最大的差别有四个: 去中心化 直接记录快照,而非

Git命令速查表【转】

本文转载自:http://www.cnblogs.com/kenshinobiy/p/4543976.html 一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git remote add origin [email protected]:ndshowgit p

Git 常用命令速查表(图文+表格)

一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git remote add origin [email protected]:ndshowgit push origin master 将文件给推到服务器上 git remote show origin 显示远程

Git 常用命令速查表(三)

转自:http://blog.csdn.net/ithomer/article/details/7529841 本文将对Git 命令,做一下全面而系统的简短总结,整理成简洁.明了的图表结构,方便查询 一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git rem

故障代码含义速查表 DEBUG代码

故障代码含义速查表 DEBUG代码 1.特殊代码"00"和"FF"及其它起始码有三种情况出现: ①已由一系列其它代码之后再出现:"00"或"FF",则主板OK. ②如果将CMOS中设置无错误,则不严重的故障不会影响BIOS自检的继续,而最终出现"00"或"FF". ③一开机就出现"00"或"FF"或其它起始代码并且不变化则为板没有运行起来. 2.本