Java语言所使用的字符集是什么?

Python012

Java语言所使用的字符集是什么?,第1张

Java语言所使用的字符集是16位Unicode编码。另外再介绍一些常见的字符集:\x0d\x0a\x0d\x0a1、最早在dos下写pascal的时候,就遇到ASCII字符集,后来还是dos下写c,也是ascii字符集\x0d\x0a特点:目前最通用的单字节编码字符集\x0d\x0a表示:单字节\x0d\x0a最早ascii用7bit表示,总共能表示2^7=128个字符,后来扩展到8bit,就表示2^8=256个字符\x0d\x0a2、GB2312又称为GB2312-80字符集,全称为《信息交换用汉字编码字符集·基本集》,由原中国国家标准总局发布,1981年5月1日实施。\x0d\x0a特点:当然是能表示99%的中国汉字,还包括拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母等\x0d\x0a表示:双字节\x0d\x0a3、GBK是汉字编码标准之一,全称《汉字内码扩展规范》,GBK 向下与GB2312编码兼容,向上支持ISO10646.1国际标准。可以认为GBK是在GB2313基础上通过内码扩展出来的一个标准。\x0d\x0a特点:完全兼容GB2312标准,支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字\x0d\x0a表示:双字节\x0d\x0a4、Big5,台湾那边使用比较多。\x0d\x0a5、GB 18030,全称是GB18030-2000《信息交换用汉字编码字符集基本集的扩充》,是我国政府于2000年3月17日发布的新的汉字编码国家标准,2001年8月31日后在中国市场上发布的软件必须符合本标准。\x0d\x0a特点:就是强大。覆盖中文、日文、朝鲜语和中国少数民族文字。满足中国大陆、香港、台湾、日本和韩国等东亚地区信息交换多文种、大字量、多用途、统一编码格式的要求。并且与Unicode 3.0版本兼容,填补Unicode扩展字符字汇“统一汉字扩展A”的内容。并且与以前的国家字符编码标准(GB2312,GB13000.1)兼容。\x0d\x0a表示:单字节、双字节、四字节三种方式\x0d\x0a6、Unicode野心更大(当然有一个国际统一标准当然是好事)\x0d\x0a特点:Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。\x0d\x0a表示:utf-8,utf-16,utf-32\x0d\x0a这里可能有点不好理解,举个例子\x0d\x0a首先,把unicode理解成对所有字符做了一个统一的编号,比如:“字”这个字符,编号是23383,这个是unicode定义的\x0d\x0a但是,在计算机中,如何存储这个编号呢?方式就有很多,存储unicode的方式,就是utf-8,utf-16,utf-32\x0d\x0a23383数值的16进制表示:0x5b57\x0d\x0autf-8用3个字节来表示汉字,所以utf-8的表示为:0xE5AD97\x0d\x0autf-16用2个字节来表示汉字,所以utf-16的表示为:0x5b57 刚好和数值是一样的\x0d\x0autf-32用4个字节来表示汉字,所以utf-32的表示为:0x00005b57 和数值是一样的,不过浪费空间\x0d\x0a7、再来讲讲utf-8,它是一种变长的字符集\x0d\x0a表示:单字节来表示字母,双字节来表示一些希腊字母,三字节来表示汉字,当然也有四字节的\x0d\x0a这么做当然会增加表示和识别的难度,不过,可以节省空间。这也是为什么utf-8在网络编码中流行的原因。\x0d\x0a

字符集(character set)是一个系统支持的所有抽象字符的集合。字符(character)就是各种文字和符号,包括国家文字、标点符号、图形符号、数字等。

如果仅仅是抽象的字符集,其实是顾名思义的,但是我们常说的字符集,其实是指编码字符集(coded character set),比如: Unicode、ASCII、GB2312、GBK等等。什么是编码字符集呢?编码字符集是指,这个字符集里的每一个字符,都对应到唯一的一个代码值,这些代码值叫做代码点(code point),可以看做是这个字符在编码字符集里的序号,字符在给定的编码方式下的二进制比特序列称为代码单元(code unit)。在Unicode字符集中,字母A对应的数值是十六进制下的0041,书写时前面加U+,所以Unicode里A的代码点是U+0041。

常见的编码字符集有:

Unicode:也叫统一字符集,它包含了几乎世界上所有的已经发现且需要使用的字符(如中文、日文、英文、德文等)。

ASCII:早期的计算机系统只能处理英文,所以ASCII也就成为了计算机的缺省字符集,包含了英文所需要的所有字符。

GB2312:中文字符集,包含ASCII字符集。ASCII部分用单字节表示,剩余部分用双字节表示。

GBK:GB2312的扩展,完整包含了GB2312的所有内容。

GB18030:GBK字符集的超集,常叫大汉字字符集,也叫CJK(Chinese,Japanese,Korea)字符集,包含了中、日、韩三国语言中的所有字符。

学习相关java类知识,推荐来北京尚学堂,优秀的师资和科学的授课方式,会带给你完美的学习体验。