a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 167|回复: 1

[其他] JAVA技巧:Java中编码以及Unicode总结(3)

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
* ISO 8859-5 (Cyrillic) – 斯拉夫说话1 K2 a- B( [. g7 a, p  Z
  * ISO 8859-6 (Arabic) – 阿拉伯语5 z: ]( Y) W& I/ R' J9 u2 N2 ^: ]8 H
  * ISO 8859-7 (Greek) – 希腊语
1 K9 ?% E3 ]+ ^6 @1 ~9 a0 u& c  * ISO 8859-8 (Hebrew) – 希伯来语(视觉挨次)) T# W! I+ `; j
  * ISO 8859-8-I – 希伯来语(逻辑挨次)4 I  V# ~" R3 g* X% Q. ]& v
  * ISO 8859-9 (Latin-5 或 Turkish) – 它把Latin-1的冰岛语字母换走,插手土耳其语字母。
8 s7 @3 _' l# K- q4 d' g  * ISO 8859-10 (Latin-6 或 Nordic) – 北日耳曼语支,用来庖代Latin-4。
6 S' B/ T3 d" S  * ISO 8859-11 (Thai) – 泰语,从泰国的 TIS620 尺度字集演化而来。
# y1 j# T/ \- i; T$ g  * ISO 8859-13 (Latin-7 或 Baltic Rim) – 波罗的语族
8 h. }6 D" A6 O& Z2 a  * ISO 8859-14 (Latin-8 或 Celtic) – 凯尔特语族- U: d! k2 r6 N. p4 ]/ B# i
  * ISO 8859-15 (Latin-9) – 西欧说话,插手Latin-1欠缺的法语及芬兰语重
$ r- c1 l. a# |4 x. Q  v2 [  4
1 o1 O  c0 t1 F' Y' z  音字母,以及欧元符号。
/ B1 G1 c6 I! L: |5 y+ F! D  * ISO 8859-16 (Latin-10) – 东南欧说话。首要供罗马尼亚语使用,并插手欧元符号。: k, g! I2 c0 ~2 F  X4 a5 S
  2.4.3ISO10046(UCS)编码与Unicode3 z) s4 e2 G- ~. H! ^$ J6 b
  UCS :' L" K: F2 l& ?' z
  通用字符集(Universal Character Set,UCS)是由ISO拟定的ISO 10646(或称ISO/IEC 10646)尺度所界说的字符编码体例,采用4字节编码。. b2 E# E2 Z- e" |
  Unicode:3 a# o; A) R( d. W* J) L7 Q
  Unicode(统一码、万国码、单一码)是一种在计较机上使用的字符编码。5 ]; u& H; {: R7 D1 n7 Y4 O
% j  e9 ~" B, c. w- P/ J
  它是http://www.unicode.org 拟定的编码机制,要将全世界常用文字都函括进去。它为每种说话中的每个字符设定了统一而且独一的二进制编码,以知足跨说话、跨平台进行文本转换、措置的要求。1990年起头研发,1994年正式发布。跟着计较机工作能力的增强,Unicode也在面世以来的十多年迈获得普及。但自豪unicode2.0起头, Unicode采用了与ISO 10646-1不异的字库和字码,ISO也承诺ISO10646将不会给超出0×10FFFF的UCS-4编码赋值,使得两者连结一致。Unicode的编码体例与ISO 10646的通用字符集(Universal Character Set,UCS)概念相对应,今朝的用于适用的Unicode版本对应于UCS-2,使用16位的编码空间。也就是每个字符占用2个字节,根基知足各类说话的使用。现实上今朝版本的Unicode尚未填布满这16位编码,保留了大量空间作为非凡使用或未来扩展。
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:28:24 | 显示全部楼层

JAVA技巧:Java中编码以及Unicode总结(3)

</p>  UTF:0 e1 ?; I; j, T, N: B! t0 L- Z
  Unicode 的实现体例分歧于编码体例。* s( e* e- r: m
  一个字符的Unicode编码是确定的,可是在现实传输过程中,因为分歧系统平台的设计不必然一致,以及出于节约空间的目的,对Unicode 编码的实现体例有所分歧。Unicode的实现体例称为Unicode转换名目(Unicode Translation Format,简称为 UTF)。
' o5 Z1 h- {3 t- X+ R+ Q6 @8 t  UTF-8: 8bit变长编码,对于大大都常用字符集(ASCII中0~127字符)它只使用单字节,而对其它常用字符(出格是朝鲜和汉语会意文字),它使用3字节。
4 M* S3 e$ M% {5 v9 F& U9 n: W4 W  UTF-16: 16bit编码,是变长码,大致相当于20位编码,质ё仝0×0000到
7 q; @  ^$ I( Y( P# Q4 o, m  0×10FFFF之间,根基上就是Unicode编码的实现,与CPU字序有关。
% ~0 E6 N' H- a% i; p; i& \/ Y2 d  UTF-32:32bit编码,定长编码对应于字符的Unicode暗示。% S2 [  K2 R# f, d$ i
  Unicode big endia:% t( f) ]( b0 j" k/ o3 Z
  在Windows系统中保留文本文件时凡是可以选择编码为ANSI、Unicode、Unicode big endian和UTF-8,这里的ANSI和Unicode big endia是什么编码呢?
! T3 `: d% U4 Z$ V3 R6 ?/ Y2 ^  UTF-8以字节为编码单元,没有字节序的问题。UTF-16以两个字节为编码单元,在诠释一个UTF-16文本前,首先要弄清嚣张每个编码单元的字节序。
, {2 N/ ^+ Y3 m3 N7 D  Unicode规范中举荐的标识表记标帜字节挨次的体例是BOM(即Byte Order Mark)。: R& u4 H6 v- c, H. D
  在UCS编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该呈此刻现实传输中。UCS规范建议我们在传输字节约前,先传输字符”ZERO WIDTH NO-BREAK SPACE”。6 I+ j7 U8 l9 B! A# o8 c3 M2 c' c
  如不美观领受者收到FEFF,就剖明这个字节约是Big-Endian的;如不美观收到FFFE,
( s2 W6 Y$ G  v" z& I: L  52 y* r. n2 ?9 w+ Z
  就剖明这个字节约是Little-Endian的。是以字符”ZERO WIDTH NO-BREAK SPACE”又被称作BOM。Windows就是使用BOM来标识表记标帜文本文件的编码体例的。
' i: O: I1 u: L, ~$ B' k2 }  2.5 codepage的编码系统
4 C( ?* H5 r$ s2 m; d7 g7 B  codepage 指的是一个经由遴选的以特定挨次枚举的字符内码列表,对于早期的单字节内码的语种,codepage中的内码挨次使得系统可以按照此列表来按照键盘的输入值给出一个对应的内码。对于双字节内码,则给出的是MultiByte到Unicode的对应表,这样就可以把以Unicode形式存放的字符转化为响应的字符内码。近似unicode,只是此外一种字符编码体例,注重ASP和SAP中的codepage的区别。
/ C( r6 h, Z! h. Y; Y1 E  ASP中:6 k3 s8 E; O2 P8 I4 J7 Z7 n
  CodePage的浸染,是抉择页面以何种编码体例显示动态内容。当页面被处事器措置之后,页面将以CodePage设定的编码输出到客户端。当然,CodePage的参数需正确,否则,将发生错误信息“CodePage 值无效。指定的 CodePage 值无效。”(事务ID: 0204)。如不美观CodePage没有设置,则处事器使用默认的CodePage加载到你的Session琅缦沔,使用轨范代码: Response.Write(Session.CodePage)可以查看你当前使用的CodePage。
& P) C. D5 O; L- @3 s/ G4 D9 b  SAP中:最经常我们使用的篡夺数据的体例就是使用GUI_UPLOAD这个FM.在这个FM中有个CODEPAGE,是用来指定代码页的。% u6 Z# t: [/ u/ I
  Siebel Value2 ]% L& }7 w' p% h7 f: Y0 V
  SAP Code page
( \- G5 F2 H; V7 U3 n5 @2 y0 J+ |  Description
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 10:34 , Processed in 0.206207 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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