Coded Character Set

ASCII -> GB2312 -> GBK

ASCII -> Unicode( Universal Multiple-octet Coded Character Set, Abbreviation:UCS)

UTF: UCS Transformation Format

UCS-2编码(16进制) UTF-8 字节流(二进制)
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx

UTF-8就是以8位为单元对UCS进行编码。从UCS-2到UTF-8的编码方式如下:

例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间,所以肯定要用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 110001 001001,用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。  

BOM: byte order mark

Windows 32和64, java, Net framework 都是2bytes, UTF-16编码.  类Unix下都是4bytes, UTF-32编码
时间: 2024-10-13 12:56:44

Coded Character Set的相关文章

JAVA NIO之Character Set

明白以下几个概念: 字母集(Character Set),汉字,特殊符号,字母这些都是字符集: 字符编码集(Coded character set),将字符集的字符使用数字进行编码:比如ASCII,就是定义了一组字符编码集:Unicode 字符编码框架(Character-encoding schema),描述如何将一组字符编码转换为字节(byte):所以框架核心是定义了一组"映射"(mapping). 字符集(Charset),融合了字符编码以及字符编码框架,做了他们之间的对应关系.

字符集的相关知识

ASCII: 早期的字符集,7位,128个字符,包括大小写a-z字母,0-9数字以及一些控制字符. 扩展ASCII: 1个字节8位,只用7位不合理.于是第8位用于扩展ASCII字符集,这样就又多了128个字符.于是用着后128个字符来扩展表示如拉丁字母,希腊字母等特殊符号.但问题是欧洲那一票国家很多互相都拥有不相同的特殊字母,一起塞进后128个明显不够,于是代码页出现了. Code Page(代码页): 1个字节前128个字符大家统一和ASCII一样,而后128个字符,根据不同系统所谓代码页来区

unicode,ansi,utf-8,unicode big endian编码的区别

作者:于洋链接:https://www.zhihu.com/question/23374078/answer/69732605来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状态是好的,于是他们把这称为"字节".再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去.他们看到这样是好的,于是它们就这

字符编码格式

一.编码历史与区别 一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS--是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们.Let's Go! 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状态是好的,于是他们把这称为"字节". 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去.他们看到这样是好

编码方式小解

ASCII 简介: 最早出现的编码方式,全称:American Standard Code for Information Interchange,美国信息互换标准代码 内容: 大小写字母.数字.标点符号.空格 用连续的字节状态表示(不包括扩展字符集) 长度: 1个字节 8位 数目: 最初0~127 随着计算机的普及扩展到255,后面的被称为"扩展字符集",终于达到阈值,前128位不变,后面的是扩展集,可改变 GB2312 简介: 国人对ASCII的扩展字符集,前128未不变,两个大于

python笔记

字符编码与encode.decode的问题: 用8个开关表示世界万物 ASCII :  American Standard Code for Information Interchange,美国信息互换标准代码,只用了前7位,127个状态 GB2312:是对ASCII的中文扩展(前127不变,大于127的+后边另一个大于127的表示中文)两个字节表示一个汉字 GBK:包括了GB2312 的所有内容,增加了近20000个新的汉字(包括繁体字)和符号 GB18030:加了几千个新的少数民族的字,GB

总结 1-1 ~ 1-6

Linux运维第一天: 配置云主机.安装使用Xmanager Enterprise 4工具 Linux运维第二天: 安装虚拟机(vmware+Linux6.5/7.2) 虚拟机三种方式实现上网功能(host-only.Bridge.Nat) host-only需要设置一下主机和两块网卡(上网网卡和vmnet1 ),然后配置虚拟机网卡 上网网卡共享给vmnet1,vmnet1设置dns:上网网卡使用的dns或8.8.8.8 vmnet1与虚拟机网卡要在一个网段上,dns:上网网卡使用的实际dns或

java常见字符集

ASCII 名称由来 ASCII(American Standard Code for Information Interchange,美国信息互换标准编码)是基于罗马字母表的一套电脑编码系统.[1] 特点 它主要用于显示现代英语和其他西欧语言.它是现今最通用的单字节编码系统,并等同于国际标准ISO 646. 包含内容 控制字符:回车键.退格.换行键等. 可显示字符:英文大小写字符.阿拉伯数字和西文符号. 技术特征 7位(bits)表示一个字符,共128字符,字符值从0到127,其中32到126

字符编解码的故事(ASCII,ANSI,Unicode,Utf-8区别)

好文分享UTF-8, 字符集, 编解码 (关于字符编码的深入解释,请参见我的原创文章<关于字符编码,你所需要知道的>.) 此文为转载,有少许修订,原文出处不详. 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节". 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出更多的状态,状态开始变来变去.他们看到这样是好的,于是它们就这机器称为"