字符编码ASCII、ANSI、Unicode、UTF-8、GB2312
一、ASCII码
- ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),是用来表示英文字符的一种编码规范
- 每个ASCII字符占用1个字节(8bits),共有256位字符或符号
- 7位字符集广泛用于代表标准美国键盘上的字符或符号,而最高位为1的另128个字符被成为“扩展ASCII”,一般用来存放英文的制表符、部分音标字符等等的一些其他符号
- ASCII码表 :http://www.asciitable.com
二、ANSI码
- ANSI码(American National Standards Institute),美国国家标准学会的标准码。
- 不同的国家和地区制定了不同的标准,由此产生了 GB2312(中国), BIG5(台湾), JIS(日本) 等各自的编码标准。 这些使用 2 个字节来代表一个字符的各种延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。 不同 ANSI 编码之间互不兼容。
- 当然对于ANSI编码而言,0x00~0x7F之间的字符,依旧是1个字节代表1个字符。
- ASCII字符集是与ANSI字符集中的前面128个(0-127)字符相同。这一点是ASNI编码与Unicode编码之间最大也最明显的区别。(Unicode全是两字节)
- 各国ANSI编码转Unicode码对照表http://www.opensource.apple.com/source/libiconv/libiconv-24/libiconv/tests/
- 中文国标码与Unicode码:http://www.opensource.apple.com/source/libiconv/libiconv-24/libiconv/tests/CP936.TXT
三、Unicode码
- Universal Character Set 通用字符集
- Unicode有两套标准,一套叫UCS-2(Unicode-16),用2个字节为字符编码,另一套叫UCS-4(Unicode-32),用4个字节为字符编码。常用的UCS-2,它可以表示的字符数为2^16=65535,基本上可以容纳所有的欧美字符和绝大部分的亚洲字符 。
- ASCII字符集之间的不兼容问题 , ASCII字符是单个字节的,比如“A”的ASCII是65。而Unicode是双字节的,比如“A”的Unicode是0065,C语言使用‘\0’作为字符串结尾,这样一来,C语言的字符串函数将无法正常处理Unicode,除非把世界上所有用C写的程序以及他们所用的函数库全部换掉
- unicode全码表:http://www.tamasoft.co.jp/en/general-info/unicode.html
- 中文国标码 Unicode码 UTF8 对照表:http://www.ansell-uebersetzungen.com/gbuni.html
四、UTF8
- UTF= UCS Transformation Format UCS转换格式,UTF有2种:UTF-8和UTF-16 ,流行的的是UTF8
- 是Unicode传送格式。即把Unicode文件转换成BYTE的传送流,UTF8是为传送unicode而想出来的“再编码”方法,将Unicode编码规则和计算机的实际编码对应起来
- 它将Unicode编码为:
00000000-0000007F的字符,用单个字节来表示; 00000080-000007FF的字符用两个字节表示 00000800-0000FFFF的字符用3字节表示 - d. 在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。中文的(Uincode)编码范围是在4E00(一) ~ 9FA0(龠) 之间,UTF8编码范围E4 B8 80(一) ~ E9 BE A0 (龠),三个字节
五、国标码(GB)
- GB码 是中文系统的ANSI编码
- 由于历史的原因,在Unicode之前,一共存在过3套中文编码标准。中国:GB2312 1980年 7445个字符 CP936、GBK 1995年 21886个字符 CP936、GB18030 2000年 27484字符 CP54936 不支持手机,MP3;台湾:Big5,是台湾使用的编码标准,编码了台湾使用的繁体汉字,大概有8千多个;香港:HKSCS,是中国香港使用的编码标准,字体也是繁体,但跟Big5有所不同。
- GBK兼容GB2312,加入了几乎所有的Big5中的繁体汉字。但是GBK中的繁体汉字和Big5中的几乎不兼容。
六、TXT文件识别编码的方式
Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,即BOM(Byte Order Mark),分别是xFFFE(Unicode小头,低字节在前),xFEFF(Unicode big endian大头,高字节在前),xEFBBBF(UTF-8 BOM,UFT-8可以存储BOM字节)。
字符编码ASCII、ANSI、Unicode、UTF-8、GB2312相关推荐
- 计算机ucs汉字编码,字符编码基础知识 - Unicode,UCS,GBK,GB2312,UTF-8
字符编码基础知识- Unicode,UCS,GBK,GB2312,UTF-8 最近遇到一个Unicode和UTF-8关系比较的问题,之前在处理中文显示时也遇到过类似的问题,于是花时间学习了一下,在此做 ...
- 字符编码ASCII、Unicode 、UTF-8 及实例汉字与Unicode码的相互转化
字符编码ASCII.Unicode .UTF-8 及实例汉字与Unicode码的相互转化 ASCII 码 我们知道,计算机内部,所有信息最终都是一个二进制值.每一个二进制位(bit)有0和1两种状态, ...
- [转]字符编码,ansi, unicode,utf-8, utf-16
Unicode(Universal Multiple-Octet Coded Character Set): 目前最流行和最有前途的字符编码规范,因为它解决了不同语言编码的冲突. Uicode由来: ...
- 前端需要搞懂的字符编码ASCII、Unicode、UTF8、UTF16等
字符集和字符编码 字符集就是字符的集合,如常见的 ASCII字符集,GB2312字符集,Unicode字符集等.这些不同字符集之间最大的区别是所包含的字符数量的不同. 字符编码则代表字符集的实际编码规 ...
- 字符编码简介 ANSI Unicode Unicode big endian UTF-8
1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和 1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte) ...
- 字符编码(ASCII,Unicode和UTF-8) 和 大小端
参考: https://www.cnblogs.com/skywang12345/p/3360348.html 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每 ...
- 常见的三种字符编码ASCII、Unicode、UTF-8
发展史 ASCII 码 -> Unicode -> UTF-8 背景 计算机内部,信息都已二进制储存,每一个二进制位有 0 或 1 两种状态,采用 8 个 二进制位 (bit) 作为一个字 ...
- java ascii 编码方式,Java 字符编码 ASCII、Unicode和UTF-8
1 ASCII码 统一规定英语字符与二进制位之间的关系.ASCII码一共规定了128个字符的编码.例如,空格"SPACE"是32(二进制00100000),大写字母A是65(二进制 ...
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?
字符编码知识:Unicode.UTF-8.ASCII.GB2312等编码之间是如何转换的? 字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得字符编码的知识.不注意的人可能对这个不在意,但这些 ...
- 【转】刨根究底字符编码之七——ANSI编码与代码页
一.ANSI编码 1. 如前所述,在全世界所有国家和地区的文字符号统一编码的UCS/Unicode编码方案问世之前(UCS.Unicode后文有详细介绍),各个国家.地区为了用计算机记录并显示自己的字 ...
最新文章
- c语言 狸抓兔子,捕捉猫狸的方法-
抓野猫的最好方法
- Java 学习(21)--集合笔试题
- [MIPS汇编语言]InsertionSort插入排序
- asp动态树菜单集合(3/3)
- 超级计算机的英语作文80字,英语作文_为什么这台超级计算机如此快? (有声) _沪江英语...
- linux rsync删文件速度,Linux下使用rsync最快速删除大量文件的方法
- java bean id_在 JSP中使用JavaBean的标签是 ,其中 id的用途是 __________________学小易找答案...
- Dockerfile 文件结构、docker镜像构建过程详细介绍
- SSH框架之-hibernate 三种状态的转换
- eclipse优化运行速度_IPFS:强化公共DHT以抵抗eclipse攻击
- 电脑罗盘时钟代码_轻松吃透实时时钟芯片DS1302软硬件设计
- php设计模式实战之--观察者模式
- 2 BeeGo 参数配置与路由配置
- linux编译gdal geos,GDAL编译支持GEOS
- 再回顾SGX初始化(三)——uRTS维护Enclave、tRTS完成Enclave构建收尾确认工作
- 人工智能 —— 人工智能发展大事件
- android模拟器 diy,史莱姆机DIY模拟器
- CSS 图片偏移技术以及坐标问题
- xmp是什么格式的文件
- 最新!使用Python爬取蓝奏云文件下载直链并下载,支持批量爬取,已封装为函数,可直接使用(含注释、库的使用解释)