GBK字库 ISO 10646 Unicode UTF8
Unicode 与 ISO/IEC 10646
最初,Internet上只有一种字符集——ANSI的ASCII字符集(American Standard Code for Information Interchange, “美国信息交换标准码),它使用7 bits来表示一个字符,总共表示128个字符,后来IBM公司在此基础上进行了扩展,用8bit来表示一个字符,总共可以表示256个字符,充分利用了一个字节所能表达的最大信息
ANSI字符集:ASCII字符集,以及由此派生并兼容的字符集,如:GB2312,正式的名称为MBCS(Multi-Byte Chactacter System,多字节字符系统),通常也称为ANSI字符集。 UNICODE与UTF8,UTF16 |
|
由于每种语言都制定了自己的字符集,导致最后存在的各种字符集实在太多,在国际交流中要经常转换字符集非常不便。因此,产生了Unicode字符集,它固定使用16 bits(两个字节)来表示一个字符,共可以表示65536个字符 |
例如“连通”两个字的Unicode标准编码UTF-16 (big endian(存放时高位在前,低位在后))为:DE 8F 1A 90 当一个软件打开一个文本时,它要做的第一件事是决定这个文本究竟是使用哪种字符集的哪种编码保存的。软件一般采用三种方式来决定文本的字符集和编码: Unicode: UCS: Unicode与UCS的关系: UCS的编码方式: UCS-2, 与unicode的2byte编码基本一样. UCS-4, 4byte编码, 目前是在UCS-2前加上2个全零的byte. UTF: Unicode/UCS Transformation Format UTF-8, 8bit编码, ASCII不作变换, 其他字符做变长编码, 每个字符1-3 byte. 通常作为外码. 有以下优点: UTF-16, 16bit编码, 是变长码, 大致相当于20位编码, 值在0到0x10FFFF之间, 基本上就是unicode编码的实现. 它是变长码, 与CPU字序有关, 但因为最省空间, 常作为网络传输的外码. UTF-32, 仅使用了unicode范围(0到0x10FFFF)的32位编码, 相当于UCS-4的子集. UTF与unicode的关系: Unicode是一个字符集, 可以看作为内码. 在windows平台,UTF-16LE也被称作unicode。UTF-16BE被称作unicode big endian。这是因为Windows内核使用了UTF-16LE编码。这种叫法并不规范。 |
unicode编码把一个汉字与一个数字联系在一起。例如“汉”对应的数字是27721,十六进制编码是0x6C49。
如果“字符”是以在Unicode中的序号存在的,那么我们称这种字符串为Unicode字符串或者宽字节字符串。在Unicode中,每个字符都占两个字节。如,"中文123"(占10字节)。
UTF是UCS Transformation Format的缩写。它规定了unicode编码的传输格式,即用哪几个字节表示一个unicode编码。同一个unicode编码可以有不同的传输格式。 例如“汉”的编码0x6C49在UTF-8中被映射成E6 B1 89。在UTF-16LE中被映射成49 6C。在UTF-16BE中被映射成6C 49。 |
在jvm内部,虚拟机管理数据(内存里)时,或者在进行对象序列化的时候,字符(串)都是以unicode编码方式的。 |
但是在jvm中,字符(串)是以char 这种(存储)形式存放的,一个char占2个字节(例如可以定义char c='字'),就是“字”和“Z”是同样占2个字节的;而在对象序列化后,对象是进行UTF-8存储的,一个中文占2个字节,而英文、数字等只占一个字节,所以导致系列化以后的对象只占平时的大约一半的空间(当全是中文时占用相同的空间为全是英文时unicode占用的空间是UTF-8的2倍)
GBK字库 ISO 10646 Unicode UTF8相关推荐
- gbk, gb2312,big5,unicode,utf-8,utf-16的区别
本文转自http://blog.chinaunix.net/uid-446337-id-94462.html详细说明了各种编码的区别于联系,对于支持国际化很重要,否则各种乱码能搞死人! Unicode ...
- 大端小端,ascii,unicode,utf8,utf16,utf32,gb2312,gbk,gb18030等字符编码问题
字符编码的问题让我困惑了好久的一段时间,其实简单的想,字符编码没有什么东西的,可是想真弄明白还是花去了我一点时间,前端时间写了一个简单的log程序,主要的工作就是支持系统运行时输出日志信息,同时允许定 ...
- [转]各种编码ANSI、GB2312、GBK、GB18030、UNICODE以及UTF-8傻傻分不清!
计算机编程中的编码一直是让新手非常头疼的问题,特别是 GBK.GB2312.UTF-8 这三个比较常见的网页编码的区别,更是让许多新手晕头转向,怎么解释也解释不清楚,看一遍貌似懂了,但实际使用的时候又 ...
- ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别
ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别 最近老为编码问题而烦燥,下定决心一定要将其弄明白!本文主要总 结网上一些朋友提供的 asc ...
- 字符编码详解及由来(UNICODE,UTF-8,GBK)
字符编码详解及由来(UNICODE,UTF-8,GBK) 各种字符编码方式详解及由来(ANSI,UNICODE,UTF-8,GB2312,GBK) - 2009-01-29 09:53 一直对 ...
- ES2018 学习笔记(4)Unicode 和 ISO 10646
一致性 A conforming implementation of ECMAScript must interpret source text input in conformance with t ...
- ascii码 iso 8859-1 Unicode 字符编码 UTF8编码 区别 表格
第一:编码简单描述 一.ASCII码:美国佬最初把自己的语言用计算表示,发现 0--127 能把字母表+其它符号全能表示出来 二. iso 8859-1:欧洲人,0---127 是ASCII码,1 ...
- ASCII 、GB2312、GBK、GB18030、unicode、UTF-8字符集编码详解 1
ASCII字符集编码 ASCII码是7位编码,编码范围是0x00-0x7F.ASCII字符集包括英文字母.阿拉伯数字和标点符号等字符.其中0x00-0x20和0x7F共33个控制字符. ...
- C#_汉字与GBK,Unicode,UTF-8编码之间的转换
IT发展至今,字符编码版本众多,目前流行的GBK,Unicode,UTF-8编码与汉字的转换可用如下代码: private void button1_Click(object sender, Even ...
- 字符集编码详解【ASCII 、GB2312、GBK、GB18030、unicode、UTF-8】(转)
ASCII字符集编码 ASCII码是7位编码,编码范围是0x00-0x7F.ASCII字符集包括英文字母.阿拉伯数字和标点符号等字符.其中0x00-0x20和0x7F共33个控制字符. 只支持ASCI ...
最新文章
- long 雪花算法_海量数据分库分表方案(一)算法方案
- 数据还是模型?人类知识在深度学习里还有用武之地吗?
- 伸展树(Splay tree)图解与实现
- Epos消费管理系统复制迁移SQL SERVER 2005数据库
- python拼图游戏代码_教你用Python自制拼图小游戏,轻松搞定熊孩子
- ios微信下vue项目组件切换并自动播放音频的解决方案
- 多线程的关键是,不同线程对象要独立
- 计算机老师一句话,40句感恩教师的一句话
- 将Map转换成List
- Android 项目必备(二十三)-->减小 APK 大小
- python培训班靠谱吗-天津靠谱的python培训班
- 制作 macOS Mojave U盘USB启动安装盘方法教程 (全新安装 Mac 系统)
- python给word添加换行换页符
- css段落首行缩进,文字间距
- 你不得不学会的英文赞美句子
- java 连接多实例_Java如何连接多实例SQL Server?
- 获取log文件信息,并保存至Excel文件
- php.net国内镜像及php源码下载[非常快]
- 树莓派python离线语音识别_Raspberry Pi
- 鸿蒙渊更新公告,《天下3》更新公告(版本2.0.706)