Java认证之Java中编码以及Unicode总结(4)
- p8 Q% y3 \; y9 B8 ^4 V( mCP1252
! a* \# i) Y# t6 M) U& v/ f2 X D 1100
+ A: l8 ]: g( R- M$ t& t# q& ?* Q: b7 H- _ SAP Latin-1 – ISO8859-1 – code page# q' z% V1 y$ O' z" {5 d. q% a
ISO-8859-22 i, x/ n) g4 _! X9 {
1402
0 k( w( r4 m7 e# `$ C+ c/ u1 R% q SAP Latin-2 – ISO8859-2. Y$ U7 V2 G6 k+ b
ISO-8859-5
' M$ h: i$ `% I 15002 |" ?: M- ^ B; Y: `
SAP Cyrillic – ISO8859-5
7 y+ P: B. M7 \# d+ S' W CP12546 X, b( B6 P# s/ [4 C n
16101 z# X+ w3 H4 f# \+ h& Q: ]
SAP Turkish – ISO8859-9$ I' H( U0 q& o
CP1253! b& `( [$ u# Q7 J' S$ Z/ w" Z
1700. W$ t+ ~ g0 f( R5 I5 \
SAP Greek – ISO8859-7 – Not a complete match+ M' w y. T$ C1 Y
CP12552 ^( V' f2 O& ^
1800
/ S, w; I, O5 q4 w SAP Hebrew – ISO8859-8 – Not a complete match
" K; j# h$ j' H; ` CP9323 c; i4 o0 k. p/ [. U4 _5 Y
8000
, w! g9 z8 i' k 6: Z- i, I; e+ j. R( P0 A
SAP Shift-JIS
6 l, q( E, F% d' g CP950
7 m; x# X5 b4 S9 b& p- ~$ Q% ?6 Z 8300( T! p' i" [6 ]1 }) u
SAP Taiwanese8 Q# k. t' T9 M# A3 B9 n' x
CP9362 l- C: \; G, F( k
8400
. H) x) T q. b3 S) U SAP Chinese x: y! v1 U- l9 O7 z, h/ ^% Y, N
CP9491 {, ~% y/ d L6 h, W. W
8500
( p# Z2 b- G4 q c" `4 X SAP Korean- T6 s5 D" U' X0 i" M3 u( b/ Y- B
CP874) [3 }) k) [, ^8 r
8600
9 |" M1 p: O# H, ]% t; q SAP Thai1 |" D; @3 z! ~1 X
3、
9 h- s- L7 o* w Unicode历史; z, B$ C& B7 N& v
1991年,Unicode联盟与ISO的工作组终于开始讨论Unicode与UCS的合并问题。最终,两者统一了抽象字符集(即任何一个在 Unicode中存在的字符,在UCS中也存在),对于码空间,两者同意以一百一十万为限,Unicode将码空间扩展到了一百一十万,而UCS将永久性的不使用一百一十万以后的码位。UCS和Unicode都指的是编码字符集,而不是字符集编码。
3 c! m6 \# b* c 字符集编码决定了如何将一个字符的整数编号对应到一个二进制的整数值,有的编码方案简单的将该整数值直接作为其在计算机中的表示而存储,例如英文字符就是这样,几乎所有的字符集编码方案中,英文字母的整数编号与其在计算机内部存储的二进制形式都一致。当初Unicode与UCS还没成家之时,UCS也是需要人爱,需要人疼的,没有自己的字符集编码怎么成。UCS-2与UCS-4就扮演了这样的角色。 UCS-4与UTF-32除了名字不同以外,思想完全一样。而UCS-2与UTF-16在对前65536个字符的处理上也完全相同,唯一的区别只在于 UCS-2 不支持surrogate pair机制,即是说,UCS-2只能对前65536个字符编码,对其后的字符毫无办法。 |