a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 159|回复: 0

[专业语言] Java认证:Java中编码以及Unicode总结(1)

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
根基概念   bit 位只能是0或者1
9 }& ~' h  K! w" P  byte 字节一个字节是8位,1 byte=8 bits 计较机暗示的根基单元5 h0 Q( d2 \' J4 u! C; X0 B# ]. X3 F
  KB,MB,GB,TB,PB是以1024与byte进行换算
& v3 E! h6 K1 D; a$ d# }3 J  进制 用符号进行计数 十进制、二进制、八进制(011)、十六进制(0xFF)
  z3 {7 Z4 r5 r+ p2 v  字符文字和符号的总称
; B, h. _3 {7 Y+ i$ u) A" `  1、- b, i* P2 F5 \/ J- Z
  0 0×00 0000,00009 G7 \( a- z) K8 d* C
  1 0×01 0000,0001
+ g* }6 G+ C/ B0 Z( r: n0 m  2 0×01 0000,00106 M1 M3 ]) T6 |- z' j  X
  127 0×7F 0111,1111
& c  ^' D; Y8 R2 l+ O  -128 0×80 1000,0000' j# ], A; m, ]. \+ s
  -2 0xFE 1111,1110
% A3 q- Q+ f$ R3 }  -1 0xFF 1111,1111$ s9 Q/ j  ?, H: o
  以补码的形式暗示的二进制编码。. v- s/ x; y  }1 }. n: _' b$ {; C
  -2的暗示,2=0000,0010,反码1111,1101,补码=反码+1=111111106 A, T8 p% c1 N+ K! \9 R- D
  1111,1110暗示的就是1111,1110-1=1111,1101,取反就是0000,0010也就是2,所以就是-2
6 S" Q0 G' x! h, @  2、7 v' z1 K, A+ G- a/ h
  字符集和编码
  {, n2 h* k0 q! {. [5 q5 e  2.1字符(Character)
' i. F9 O% {2 `4 k8 Z  字符(Character)是文字与符号的总称,搜罗文字、图形符号、数学符号等。  n- c$ J6 T$ i" x' E3 r
  2.2字符集(Character Set)
5 N0 A' w3 Y1 \) r  一组成象字符的集结就是字符集(Character Set)。字符集经常和一种具体的说话文字对应起来,该文字中的所有字符或者大部门常用字符就组成磷泼文字的字符集,好比英文字符集。一组有配合特征的字符也可以组成字符集,好比繁体汉字字符集、日文汉字字符集。字符集的子集也是字符集。0 t( Z% ]6 b6 j# }- p" c: O
  计较机要措置各类字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码(Encoding)。拟定编码首先要确定字符集,并将字符集内的字符排序,然后和二进制数字对应起来。按照字符集内字符的若干好多,会确定用几个字节来编码。每种编码都限制了一个明晰的字符集结,叫做被编码过的字符集 (Coded Character Set),这是字符集的此吐矣闽寄义。凡是所说的字符集大多都是指编码字符集(Coded Character Set)。8 \- c2 o0 z. [, n4 B8 z7 ?
  1
, n  d  l4 |$ P: f& k9 z  2.2.1 ASCII字符集! |, a6 Y  k( m; I, A+ v$ l+ F
  ASCII(American Standard Code for Information Interchange,美国信息交流尺度代码)是基于罗马字母表的一套电脑编码系统。由美国国家尺度局(ANSI)拟定。
1 W! K* b1 W, j- i  7位,可以暗示2^7=128个字符。在计较机的存储单元中,一个ASCII码置魅占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。 7位编码的字符集只能撑持128个字符,为了暗示更多的欧洲常用字符对ASCII进行了扩展,ASCII扩展字符集使用8位(bits)暗示一个字符,共 256字符。
: |4 C  D* a8 o* j  ASCII扩展字符集比ASCII字符集扩充出来的符号搜罗表格符号、计较符号、希腊字母和非凡的拉丁符号。
8 `7 q4 {* G# {* F3 f! `  2.2.2 GB2312 字符集' E2 ~# [% h: B5 ~
  GB2312又称为GB2312-80字符集,全称为《信息交流用汉字编码字符集·根基集》,由原中国国家尺度总局发布,1981年5月1日实施。在中国大陆和新加坡获普遍使用。GB2312收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。其中搜罗6763个汉字,其一一级汉字3755个,二级汉字3008个;搜罗拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。2 u( v6 [9 |1 F9 c# R3 u9 \/ {' w: V
  GB2312中对所收汉字进行了“分区”措置,每区含有94个汉字/符号。这种暗示体例也称为区位码。各区包含的字符如下:01-09区为非凡符号;16-55区为一级汉字,按拼音排序;56-87区为二级汉字,按部首/笔画排序;10-15区及88-94区则未有编码。6 D$ k# u0 P8 W/ A7 o) [$ b
  两个字节中前面的字节为第一字节,后面的字节为第二字节。习惯上称第一字节为“高字节” ,而称第二字节为“低字节”。“高位字节”使用了0xA1-0xF7 (把01-87区(88-94区未有编码)的区号加上0xA0),“低位字节”使用了0xA1-0xFE (把01-94加上0xA0)。( {% ^8 Y+ x+ h4 v- b
  以GB2312字符集的第一个汉字“啊”字为例,它的区号16,位号01,则区位码是1601,在大大都计较机轨范中,高字节和低字节分袂加0xA0获得轨范的汉字措置编码0xB0A1。计较公式是:0xB0=0xA0+16, 0xA1=0xA0+1。
1 M& }& V" V1 Z) g7 T  2.2.3 GBK 字符集1 G5 N8 Q5 Y4 ^3 A) R3 d
  GBK全名为汉字内码扩展规范,英文名Chinese Internal Code Specification。K 即是“扩展”所对应的汉语拼音(KuoZhan11)中“扩”字的声母。GBK 来自中国国家尺度代码GB 13000.1-93。GBK: 汉字国标扩展码,根基上采用了原本GB2312-80所有的汉字及码位,并涵盖了原Unicode中所有的汉字20902,总共收录了883个符号, 21003个汉字及供给了1894个造字码位。[(GBKH-0xB0)*0x5E+(GBKL-0xA1)]*(汉字离散后每个汉字点阵所占用的字节)
3 Y. j( W2 ?0 B7 T  GBK是GB2312的扩展,是向上兼容的,是以GB2312中的汉字的编码与GBK中汉字的不异。此外,GBK中还包含繁体字的编码。
+ i6 P4 \& Z2 S: `- M4 u9 D7 u  GBK中每个汉字仍然包含两个字节,第一个字节典型围是0×81-0xFE(即129-254),第二个字节典型围是0×40-0xFE(即 64-254)。GBK中有码位23940个,包含汉字21003个。
- Q( ^4 B& Z) Z& z4 L  2& B; d3 S! S: r  @& b
  2.2.4 BIG5字符集
( s# W/ S& ~, q1 R( j! @  又称大五码或五大码,1984年由台湾财团监犯信息工业策进会和五间软件公司宏碁 (Acer)、神通 (MiTAC)、佳佳、零壹 (Zero One)、公共 (FIC)创立,故称大五码。Big5码的发生,是因为那时台湾分歧厂商各自推出分歧的编码,如倚天码、IBM PS55、王笆鏊等,彼此不能兼容;另一方面,台湾政府那时尚未推出官方的汉字编码,而中国大陆的GB2312编码亦未有收录繁体中文字。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-29 16:10 , Processed in 0.334937 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表