a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 97|回复: 0

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

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
8   例如我们有一个填补字符???(哈哈,你看到了三个问号对吧?因为我的系统显示不出这个字符),它在Unicode中的编号是U+2F81A,当在轨范中需要使用这个字符的时辰,就可以这样来写:
& g8 G$ \( ~; X  String s=String.valueOf(Character.toChars(0×2F81A));
' }" E5 ~* z1 o0 U  char[]chars=s.toCharArray();8 J1 n0 t" S. E' U, [2 v6 @9 Y
  for(char c:chars){
# y8 i5 n& O1 i( \. [: r+ C/ q7 Z  System.out.format(”%x”,(short)c);
# l- ]+ `$ W  Y0 \* P; a  }+ B4 o  C) j9 m+ m! f/ h9 q; j- I
  后面的for轮回把这个字符的UTF-16编码打印了出来,结不美观是d87edc1a注重到了吗?这个字符酿成了两个char型变量,其中0xd87e就是高代办代庖部门的值,0xdc1a就是低代办代庖的值。
3 ]+ c5 E. @' S& k8 r+ r. U. n5 G  Unicode字符集编码(Universal Multiple-Octet Coded Character Set)通用多八位编码字符集的简称,撑出生避世界上跨越650种说话的国际字符集。Unicode是一种在计较机上使用的字符编码。它为每种说话中的每个字符设定了统一而且独一的二进制编码,以知足跨说话、跨平台进行文本转换、措置的要求。Unicode 尺度始终使用十六进制数字,而且在书写时在前面加上前缀“U+”,字母“A”的编码书写为“U+0041”。
$ z+ |% R. R# f0 S; B  Unicode打算使用了17个平面,一共有 17*65536=1114112个码位。在Unicode 5.0.0版本中,已界说的码位只有238605个,分布在平面0、平面1、平面2、平面14、平面15、平面16。其中平面15和平面16上只是界说了两个各占65534个码位的专用区(Private Use Area),分袂是0xF0000-0xFFFFD和0×100000-0×10FFFD。所谓专用区,就是保留给巨匠放自界说字符的区域,可以简写为 PUA。平面0也有一个专用区:0xE000-0xF8FF,有6400个码位。平面0的 0xD800-0xDFFF,共2048个码位,是一个被称作代办代庖区(Surrogate)的非凡区域。代办代庖区的目的用两个UTF-16字符暗示BMP以外的字符。在介绍UTF-16编码时会介绍。如前所述在Unicode 5.0.0版本中,238605-65534*2-6400-2408=99089。余下的99089个已界说码位分布在平面0、平面1、平面2和平面 14上,它们对应着Unicode今朝界说的99089个字符,其中搜罗71226个汉字。平面0、平面1、平面2和平面14上分袂界说了52080、 3419、43253和337个字符。平面2的43253个字符都是汉字。平面0上界说了27973个汉字。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 20:25 , Processed in 0.191264 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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