`

字符编码格式

    博客分类:
  • java
阅读更多

字符编码格式

1ASCII

我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有01两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从000000011111111

上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。

ASCII码一共规定了128个字符的编码,比如空格“SPACE”32(二进制00100000),大写的字母A65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0

2.非ASCII编码

英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。比如,在法语中,字母上方有注音符号,它就无法用ASCII码表示。于是,一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号。比如,法语中的é的编码为130(二进制10000010)。这样一来,这些欧洲国家使用的编码体系,可以表示最多256个符号。

但是,这里又出现了新的问题。不同的国家有不同的字母,因此,哪怕它们都使用256个符号的编码方式,代表的字母却不一样。比如,130在法语编码中代表了é,在希伯来语编码中却代表了字母Gimel (ג),在俄语编码中又会代表另一个符号。但是不管怎样,所有这些编码方式中,0—127表示的符号是一样的,不一样的只是128—255的这一段

至于亚洲国家的文字,使用的符号就更多了,汉字就多达10万左右。一个字节只能表示256种符号,肯定是不够的,就必须使用多个字节表达一个符号。比如,简体中文常见的编码方式是GB2312,使用两个字节表示一个汉字,所以理论上最多可以表示256x256=65536个符号。(实际上GB2312一共收录了7445个字符,包括6763个汉字和682个其它符号)。汉字问题稍后讨论。

3Unicode-所有符号编码

正如上一节所说,世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。为什么电子邮件常常出现乱码?就是因为发信人和收信人使用的编码方式不一样。

可以想象,如果有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是Unicode,就像它的名字都表示的,这是一种所有符号的编码。

Unicode当然是一个很大的集合,现在的规模可以容纳100多万个符号。每个符号的编码都不一样,比如,U+0639表示阿拉伯字母AinU+0041表示英语的大写字母AU+4E25表示汉字。具体的符号对应表,可以查询unicode.org,或者专门的汉字对应表

4Unicode的问题

需要注意的是,Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。

比如,汉字unicode是十六进制数4E25,转换成二进制数足足有15位(100111000100101),也就是说这个符号的表示至少需要2个字节。表示其他更大的符号,可能需要3个字节或者4个字节,甚至更多。

这里就有两个严重的问题,第一个问题是,如何才能区别unicodeascii?计算机怎么知道三个字节表示一个符号,而不是分别表示三个符号呢?第二个问题是,我们已经知道,英文字母只用一个字节表示就够了,如果unicode统一规定,每个符号用三个或四个字节表示,那么每个英文字母前都必然有二到三个字节是0,这对于存储来说是极大的浪费,文本文件的大小会因此大出二三倍,这是无法接受的。

它们造成的结果是:1)出现了unicode的多种存储方式,也就是说有许多种不同的二进制格式,可以用来表示unicode2unicode在很长一段时间内无法推广,直到互联网的出现。

5UTF-8

互联网的普及,强烈要求出现一种统一的编码方式。UTF-8就是在互联网上使用最广的一种unicode的实现方式。其他实现方式还包括UTF-16UTF-32,不过在互联网上基本不用。重复一遍,这里的关系是,UTF-8Unicode的实现方式之一。

UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

UTF-8的编码规则很简单,只有二条:

1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。

2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。

下表总结了编码规则,字母x表示可用编码的位。

Unicode符号范围 | UTF-8编码方式
(
十六进制) | (二进制)
--------------------+---------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

下面,还是以汉字为例,演示如何实现UTF-8编码。

已知unicode4E25100111000100101),根据上表,可以发现4E25处在第三行的范围内(0000 0800-0000 FFFF),因此UTF-8编码需要三个字节,即格式是“1110xxxx 10xxxxxx 10xxxxxx”。然后,从的最后一个二进制位开始,依次从后向前填入格式中的x,多出的位补0。这样就得到了,UTF-8编码是“11100100 10111000 10100101”,转换成十六进制就是E4B8A5

6UnicodeUTF-8之间的转换

通过上一节的例子,可以看到Unicode码是4E25UTF-8编码是E4B8A5,两者是不一样的。它们之间的转换可以通过程序实现。

Windows平台下,有一个最简单的转化方法,就是使用内置的记事本小程序Notepad.exe。打开文件后,点击文件菜单中的另存为命令,会跳出一个对话框,在最底部有一个编码的下拉条。

 

里面有四个选项:ANSIUnicodeUnicode big endian UTF-8

1ANSI是默认的编码方式。对于英文文件是ASCII编码对于简体中文文件是GB2312编码(只针对Windows简体中文版,如果是繁体中文版会采用Big5码)。

2Unicode编码指的是UCS-2编码方式,即直接用两个字节存入字符的Unicode码。这个选项用的little endian格式。

3Unicode big endian编码与上一个选项相对应。我在下一节会解释little endianbig endian的涵义。

4UTF-8编码,也就是上一节谈到的编码方法。

选择完编码方式后,点击保存按钮,文件的编码方式就立刻转换好了。

7Little endianBig endian

上一节已经提到,Unicode码可以采用UCS-2格式直接存储。以汉字为例,Unicode码是4E25,需要用两个字节存储,一个字节是4E,另一个字节是25。存储的时候,4E在前,25在后,就是Big endian方式;25在前,4E在后,就是Little endian方式。

这两个古怪的名称来自英国作家斯威夫特的《格列佛游记》。在该书中,小人国里爆发了内战,战争起因是人们争论,吃鸡蛋时究竟是从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。为了这件事情,前后爆发了六次战争,一个皇帝送了命,另一个皇帝丢了王位。

因此,第一个字节在前,就是大尾方式Big endian),第二个字节在前就是小尾方式Little endian)。

那么很自然的,就会出现一个问题:计算机怎么知道某一个文件到底采用哪一种方式编码?

Unicode规范中定义,每一个文件的最前面分别加入一个表示编码顺序的字符,这个字符的名字叫做零宽度非换行空格ZERO WIDTH NO-BREAK SPACE),用FEFF表示。这正好是两个字节,而且FFFE1

如果一个文本文件的头两个字节是FE FF,就表示该文件采用大尾方式(人眼观察模式,自左向右高字节在前,低字节在后);如果头两个字节是FF FE,就表示该文件采用小尾方式(与大尾方式相反)。

8.实例

下面,举一个实例。

打开记事本程序Notepad.exe,新建一个文本文件,内容就是一个字,依次采用ANSIUnicodeUnicode big endian UTF-8编码方式保存。

然后,用文本编辑软件UltraEdit十六进制功能,观察该文件的内部编码方式。

1ANSI:文件的编码就是两个字节“D1 CF”,这正是GB2312编码,这也暗示GB2312是采用大头方式存储的。

2Unicode:编码是四个字节“FF FE 25 4E”,其中“FF FE”表明是小头方式存储,真正的编码是4E25

3Unicode big endian:编码是四个字节“FE FF 4E 25”,其中“FE FF”表明是大头方式存储。

4UTF-8:编码是六个字节“EF BB BF E4 B8 A5”,前三个字节“EF BB BF”表示这是UTF-8编码,后三个“E4B8A5”就是的具体编码,它的存储顺序与编码顺序是一致的。(有时候UltraEdit也不靠谱,我用的10.20b版本对UTF8查看就出问题)。

9.汉字编码

CJK含义

中日韩统一表意文字(CJK Unified Ideographs),目的是要把分别来自中文、日文、韩文、越文中,本质、意义相同、形状一样或稍异的表意文字(主要为汉字,但也有仿汉字如日本国字、韩国独有汉字、越南的喃字)于ISO 10646Unicode标准内赋予相同编码。CJK 是中文(Chinese)、日文(Japanese)、韩文(Korean)三国文字的缩写。顾名思义,它能够支持这三种文字。实际上,CJK 能够支持在 LaTeX 中使用包括中文、日文、韩文在内的多种亚洲双字节文字。CJK 是《GB2312-80》、《BIG5》等字符集的超集。

Unicode中的汉字

Unicode 5.099089个字符中,有71226个字符与汉字有关。它们的分布如下:

Block名称

开始码位

结束码位

字符数

CJK统一汉字

4E00

9FBB

20924

 

CJK统一汉字扩充A

3400

4DB5

6582

 

CJK统一汉字扩充B

20000

2A6D6

42711

 

CJK兼容汉字

F900

FA2D

302

 

CJK兼容汉字

FA30

FA6A

59

 

CJK兼容汉字

FA70

FAD9

106

 

CJK兼容汉字补充

2F800

2FA1D

542

 

如果不算兼容汉字,Unicode目前支持的汉字总数是20924+6582+42711=70217

在早期的Unicode版本中,CJK统一汉字区的范围是0x4E00-0x9FA5,也就是我们经常提到的20902个汉字。当前版本的Unicode增加了22个字符,码位是0x9FA6-0x9FBB。它们是:

 

那么GB18030是否支持这22个字符?后面还会讨论。

GB2312

1980年的GB2312一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE

6763个汉字在Unicode中不是连续的,分布在CJK统一汉字字符区(0x4E00-0x9FA5)的20902个汉字中。

GBK

1995年的汉字扩展规范GBK1.0收录了21886个符号,包括21003个汉字和883个其它符号。

21003汉字包括CJK统一汉字区的20902个汉字。余下的101个汉字包括:

·           增补汉字和部首80个,包括28个部首和52个汉字。GBK编码是从FE50-FE7EFE80-FEA0。下图标注了Unicode编码。

 

在制定GBK时,Unicode中还没有这些字符,所以使用了专用区的码位,这80个字符的码位是0xE815-0xE864。后来,Unicode52个汉字收录到“CJK统一汉字扩充A”28个部首中有14个部首被收录到“CJK部首补充区。所以在上图中,这些字符都有两个Unicode编码。

上图中淡黄色背景的8个部首被收录到“CJK统一汉字区的新增区域,即前面提到的0x9FA6-0x9FBB。还有6个淡灰色背景的部首被Unicode收录到“CJK统一汉字扩充B”(网友slt指正)。

请注意,淡黄色和淡灰色的14个字符按照GB18030还是应该映射到PUA码位。这14个字符与非PUA码位的映射关系只是网友找出来的,不是标准规定的。如果按照GBK编码,这80个字符应该全部映射到PUA码位。GB18030将其中66个字符映射到了非PUA码位。不过在Windows中,简体中文区域的默认代码页还是GBK,不是GB18030

  • CJK兼容汉字区挑选出来的21个汉字。见下表:

汉字

GBK编码

Unicode编码

FD9C

F92C

FD9D

F979

FD9E

F995

FD9F

F9E7

FDA0

F9F1

FE40

FA0C

FE41

FA0D

FE42

FA0E

FE43

FA0F

FE44

FA11

FE45

FA13

FE46

FA14

FE47

FA18

FE48

FA1F

FE49

FA20

FE4A

FA21

FE4B

FA23

FE4C

FA24

FE4D

FA27

FE4E

FA28

FE4F

FA29

4 GB18030-2000

4.1 字汇

GB18030-2000的字汇部分是这样写的:

本标准收录的字符分别以单字节、双字节和四字节编码。
5.1
单字节部分
  本标准中,单字节的部分收录了GB 113830x000x7F全部128个字符及单字节编码的欧元符号。
5.2
双字节部分
  本标准中,双字节的部分收录内容如下:
  GB 13000.1的全部CJK统一汉字字符。
  GB 13000.1CJK兼容区挑选出来的21个汉字。
  GB 13000.1中收录而GB 2312未收录的我国台湾地区使用的图形字符139个。
  GB 13000.1收录的其它字符31个。
  GB 2312中的非汉字符号。
  GB 12345 的竖排标点符号19个。
  GB 2312未收录的10个小写罗马数字。
  GB 2312未收录的带音调的汉语拼音字母5个以及ɑɡ
  汉字数字
  表意文字描述符13个。
  增补汉字和部首/构件80个。
  双字节编码的欧元符号。
5.3
四字节部分
  本标准的四字节的部分,收录了上述双字节字符之外的,包括CJK统一汉字扩充A在内的GB 13000.1 中的全部字符。

4.2 汉字

如下表所示,GB18030-2000收录了27533个汉字:

类别

码位范围

码位数

字符数

字符类型

双字节部分

第一字节 0xB0-0xF7
第二字节 0xA1-0xFE

6768

6763

汉字

第一字节0x81-0xA0
第二字节0x40-0xFE

6080

6080

汉字

第一字节0xAA-0xFE
第二字节0x40-0xA0

8160

8160

汉字

四字节部分

第一字节0x81-0x82
第二字节0x30-0x39
第三字节0x81-0xFE
第四字节0x30-0x39

6530

6530

CJK统一汉字扩充A

27533就是6763+6080+8160+6530。双字节部分的6763+6080+8160=21003个汉字就是GBK21003个汉字。

Unicode中,CJK统一汉字扩充A6582个汉字,为什么这里只有6530个汉字?

这是因为在GBK时代,双字节部分已经收录过CJK统一汉字扩充A52个汉字,所以还余6530个汉字。

5 GB18030-2005

5.1 字汇

GB18030-2005的字汇部分是这样写的:

本标准收录的字符分别以单字节、双字节或四字节编码。
5.1
单字节部分
  本标准中,单字节的部分收录了GB/T 11383-19890x000x7F全部128个字符。
5.2
双字节部分
  本标准中,双字节的部分收录内容如下:
  GB 13000.11993的全部CJK统一汉字字符。见附录A
  GB 13000.11993CJK兼容区挑选出来的21个汉字。见附录A
  GB 13000.11993中收录而GB 2312未收录的我国台湾地区使用的图形字符139个。见附录A
  GB 13000.11993收录的其它字符31个。见附录A
  GB 2312中的非汉字符号。见附录A
  GB 12345 的竖排标点符号19个。见附录A
  GB 2312未收录的10个小写罗马数字。见附录A
  GB 2312未收录的带音调的汉语拼音字母5个以及ɑɡ。见附录A
  汉字数字见附录A
  表意文字描述符13个。见附录A和附录B
  对GB 13000.11993增补的汉字和部首/构件80个。见附录A和附录C
  双字节编码的欧元符号。见附录A
5.3
四字节部分
  本标准的四字节的部分,收录了上述双字节字符之外的,GB 13000CJK统一汉字扩充ACJK统一汉字扩充B和已经在GB13000中编码的我国少数民族文字的字符。见附录D

GB18030-2005最主要的变化是增加了CJK统一汉字扩充B。它还去掉了单字节编码的欧元符号(0x80)。

5.2 汉字

如下表所示,GB18030-2005收录了70244个汉字:

类别

码位范围

码位数

字符数

字符类型

双字节部分

第一字节 0xB0-0xF7
第二字节 0xA1-0xFE

6768

6763

汉字

第一字节0x81-0xA0
第二字节0x40-0xFE

6080

6080

汉字

第一字节0xAA-0xFE
第二字节0x40-0xA0

8160

8160

汉字

四字节部分

第一字节0x81-0x82
第二字节0x30-0x39
第三字节0x81-0xFE
第四字节0x30-0x39

6530

6530

CJK统一汉字扩充A

第一字节0x95-0x98
第二字节0x30-0x39
第三字节0x81-0xFE
第四字节0x30-0x39

42711

42711

CJK统一汉字扩充B

70244就是6763+6080+8160+6530+42711

6 结束语

GB23126763个汉字,GBK21003个汉字,GB18030-200027533个汉字,GB18030-200570244个汉字。

Unicode 5.0中,如果不算兼容区,目前有70217个汉字。让我们比较一下Unicode70217汉字和GB18030-2005中的70244汉字:

GB18030-2005

Unicode 5.0

对应的Unicode编码

CJK统一汉字的20902汉字

CJK统一汉字的20902汉字

0x4E00-0x9FA5

CJK统一汉字扩充A6582汉字

CJK统一汉字扩充A6582汉字

0x3400-0x4DB5

CJK统一汉字扩充B42711汉字

CJK统一汉字扩充B42711汉字

0x20000-0x2A6D6

CJK部首补充区的14个部首

未计入

2E81, 2E84, 2E88, 2E8B, 2E8C, 2E97, 2EA7, 2EAA, 2EAE, 2EB3, 2EB6, 2EB7, 2EBB, 2ECA

CJK兼容汉字区的21个汉字

未计入

F92C, F979, F995, F9E7, F9F1, FA0C, FA0D, FA0E, FA0F, FA11, FA13, FA14, FA18, FA1F, FA20, FA21, FA23, FA24, FA27, FA28, FA29

“ ”8个部首

CJK统一汉字区新增了这8个字符

0x9FB4-0x9FBB

未计入

CJK统一汉字区新增的14个字符

0x9FA6-0x9FB3

CJK统一汉字区新增的0x9FA6-0x9FB314个字符在GB18030中有对应的码位(0x82358F33-0x82358F39, 0x82359030-0x82359039, 0x82359130-0x82359134),不过GB18030没有列出这些字符。

附录1 GBK增补的80个汉字和部首

GBK增补的80个字符本来是放在PUA区的,后来又被Unicode收录。所以既可以用PUA区的编码表示,也可以用非PUA编码表示。正文中的表格可能不便复制,这里补充一张表格:

汉字

GBK编码

PUA编码

PUA编码

FE50

E815

2E81

FE51

E816

20087

FE52

E817

20089

FE53

E818

200CC

FE54

E819

2E84

FE55

E81A

3473

FE56

E81B

3447

FE57

E81C

2E88

FE58

E81D

2E8B

FE59

E81E

9FB4

FE5A

E81F

359E

FE5B

E820

361A

FE5C

E821

360E

FE5D

E822

2E8C

FE5E

E823

2E97

FE5F

E824

396E

FE60

E825

3918

FE61

E826

9FB5

FE62

E827

39CF

FE63

E828

39DF

FE64

E829

3A73

FE65

E82A

39D0

FE66

E82B

9FB6

FE67

E82C

9FB7

FE68

E82D

3B4E

FE69

E82E

3C6E

FE6A

E82F

3CE0

FE6B

E830

2EA7

FE6C

E831

215D7

FE6D

E832

9FB8

FE6E

E833

2EAA

FE6F

E834

4056

FE70

E835

415F

FE71

E836

2EAE

FE72

E837

4337

FE73

E838

2EB3

FE74

E839

2EB6

FE75

E83A

2EB7

FE76

E83B

2298F

FE77

E83C

43B1

FE78

E83D

43AC

FE79

E83E

2EBB

FE7A

E83F

43DD

FE7B

E840

44D6

FE7C

E841

4661

FE7D

E842

464C

FE7E

E843

9FB9

FE80

E844

4723

FE81

E845

4729

FE82

E846

477C

FE83

E847

478D

FE84

E848

2ECA

FE85

E849

4947

FE86

E84A

497A

FE87

E84B

497D

FE88

E84C

4982

FE89

E84D

4983

FE8A

E84E

4985

FE8B

E84F

4986

FE8C

E850

499F

FE8D

E851

499B

FE8E

E852

49B7

FE8F

E853

49B6

FE90

E854

9FBA

FE91

E855

241FE

FE92

E856

4CA3

FE93

E857

4C9F

FE94

E858

4CA0

FE95

E859

4CA1

FE96

E85A

4C77

FE97

E85B

4CA2

FE98

E85C

4D13

FE99

E85D

4D14

FE9A

E85E

4D15

FE9B

E85F

4D16

FE9C

E860

4D17

FE9D

E861

4D18

FE9E

E862

4D19

FE9F

E863

4DAE

FEA0

E864

9FBB

参考:

http://www.cnblogs.com/lislok/archive/2008/10/14/1311041.html

http://www.fmddlmyy.cn/text24.html

 

分享到:
评论

相关推荐

    判断字符编码格式代码

    判断字符编码格式代码,用C++编写的如何判断字符编码格式,UTF-8,ASCII等

    VC/C++ 字符编码格式转换

    通过调用封装API函数WideCharToMultiByte和MultiByteToWideChar,实现ANSI/UTF-8/Unicode编码格式的相互转换。有C++和C两个版本。

    字符编码格式转换软件

    字符ANSI,Unicode,UnicodeEnd,UTF-8,UTF-7编码格式转换软件。

    Java中字符编码格式详解

    在java应用软件中,会有多处涉及到字符集编码,有些地方需要进行正确的设置,有些地方需要进行一定程度的处理。本文主要给大家讲解java中字符的编码格式等相关问题

    字符编码查询工具

    功能:查询中文及ASCII GBK码查询。 方法:在文本输入框输入要查询的字符,输出框自动生成相应的十六进制或C语言格式ASCII或GBK码

    HTML特殊字符编码

    HTML特殊字符编码HTML特殊字符编码HTML特殊字符编码HTML特殊字符编码HTML特殊字符编码HTML特殊字符编码HTML特殊字符编码HTML特殊字符编码HTML特殊字符编码HTML特殊字符编码HTML特殊字符编码HTML特殊字符编码

    字符编码过滤器 字符编码转换 post字符转换

    字符编码过滤器 j2ee字符字符编码 字符编码过滤器 字符编码转换 post字符转换

    Java判断文件编码格式 - 明明是悟空 - 博客园1

    它的类库很小,只有500K左右,利用该类库判定文本文件的代码如下(由于cpdetector的算法使用概率统计,所以结果并不是100%准确的,但是是迄今为止我见过

    C#简单判断字符编码的方法

    本文实例讲述了C#简单判断字符编码的方法。分享给大家供大家参考,具体如下: public static string GetText(byte[] buff) { string strReslut = string.Empty; if (buff.Length > 3) { if (buff[0] == 239 && ...

    深入理解字符编码(字符集 字符编码 字符显示 乱码问题)

    文档中主要介绍了各类字符集以及相关的字符编码,字符的显示原理,从输入到显现的整个过程,程序中出现的乱码问题以及解决方案

    易语言字符编码转换

    易语言字符编码转换源码,字符编码转换

    韩文字符编码总表.xlsx

    韩文字符编码总表

    字符编码查看器(字符编码转换)v1.4.2最新绿色免费版

    字符编码查看器是一款非常实用优秀的编程软件。这款软件支持编码之间的相互转换,可以帮助用户快速查看编码等。功能非常强大。需要的朋友可以前来本站下载。 软件介绍 字符编码查看器是一款可以帮助你轻松快速的...

    java字符编码监听器

    java字符编码监听器

    HTML特殊字符编码大全

    HTML特殊字符编码大全 HTML特殊字符编码大全 HTML特殊字符编码大全 HTML特殊字符编码大全

    C#判断字符编码的方法总结(六种方法)

    主要介绍了C#判断字符编码的方法,结合实例形式总结分析了六种C#判断字符编码的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    字符集与字符集编码详解

    那什么是字符呢?在计算机领域,我们把诸如文字、标点符号...这就涉及到字符编码的概念了,比如一个字符集有 8 个字符,那么用 3 个二进制位就可以完全表示该字符集的所有字符,也即每个字符用 3 个二进制位进行编码。

    中英文字符编码查询

    中英文字符编码查询 软件介绍: 该软件能快速查询中英文字符的ASCII、区位码、GB2312 码、Big5 码、GBK 内码、Unicode 码、UTF-8 码和 UTF-16 码。体积小、效率高、使用方便、批量转换、即输即得和多进制显示等。...

    java编码格式转换

    关于java字符编码格式之间的转换, 及常见编码转换错误处理。 thank me

Global site tag (gtag.js) - Google Analytics