关于Java核心技术书中的代码点和代码单元是怎么理解的呢?这些应该是从Unicode标准而来的术语 , Unicode标准的核心是一个编码字符集,它为每一个字符分配一个唯一数字 。Unicode标准始终使用16进制数字,并且在书写时在前面加上U ,如字符“A”的编码为“U 0041” 。
代码点是指可用于编码字符集的数字 。编码字符集定义一个有效的代码点范围 , 但是并不一定将字符分配给所有这些代码点 。有效的Unicode代码点范围是U 0000至U 10FFFF 。Unicode4.0将字符分配给一百多万个代码点中的96382个代码点 。
代码单元可以理解为字符编码的一个基本单元 , 最常用的代码单元是字节(即8位),但是16位和32位整数也可以用于内部处理 。
就Unicode标准来说,它的编码字符集有三种编码方案:UTF-32、UTF-16、UTF-8 。UTF-32使用32位的代码单元表示一个Unicode代码点,UTF-16使用一个或两个16位的代码单元的序列对Unicode代码点进行编码 , UTF-8 使用1至4个字节的序列对Unicode代码点进行编码 。
java什么是代码点和代码单元说白了一个代码点就是一个Unicode字符 。代码单元就是代码点的集合 。
字符视图
要了解字符集标准,您必须能区分三种不同的字符视图:
字符集(字符的抽象列表) 。
作为带标量值的“代码点”的字符 。
作为编码数据的字符 。
字符集(字符的抽象列表)
字符集是各种文字(包括拉丁文、西里尔文、中文、朝鲜语、日语、希伯来语和阿拉伯语)中所包含的字符的一个抽象列表 , 由一百多万个字符组成 。字符集还包括其他符号,例如音符 。
Unicode 和 GB18030 标准都具有字符集 。当某个标准添加了新字符时,为了保持对等,另一个标准也将添加这些字符 。
作为带标量值的“代码点”的字符
注意 这第二个字符视图只适用于 Unicode,而不适用于 GB18030 。
字符集中的每个字符都被分配到一个“代码点” 。每个代码点都有一个特定的数值 , 称为标量值 。该标量值通常用十六进制表示 。
代码点存在于“代码空间”中 。代码空间由许多标量值组成,这些值被划分在两个平面中:
基本多语种平面(64k 大?。?。
在 Unicode 中,此下平面中的值的十六进制表示位于 U 0000 到 U FFFF 的范围中 。
辅助多语种平面(16 个 64k 大小的附加节) 。
在 Unicode 中,此上平面中的值的十六进制表示位于 U 10000 到 U 10FFFF 的范围中 。
所有可能的标量值的完整代码空间的大小为 17 * 64k(1,088,000 个可能值) 。
作为编码数据的字符
每个编码形式将字符从字符集转换为编码数据 。
在 GB18030 中 , 编码数据直接从字符集派生:标量值(作为字符集和编码数据之间的媒介)的概念只适用于 Unicode 。
在 Unicode 中,通过向标量值应用某个算法来派生编码数据 。
Unicode 定义了三种字符编码形式:
UTF-8
UTF-16
UTF-32
代码点和代码单元
在每种编码形式中,代码点被映射到一个或多个代码单元 。
注意 有关代码点的概述,请参见上一节字符视图 。
“代码单元”是各个编码形式中的单个单元 。代码单元的大小等效于特定编码的位数测量单位:
UTF-8 中的代码单元由 8 位组成 。
UTF-16 中的代码单元由 16 位组成 。
UTF-32 中的代码单元由 32 位组成 。
GB18030 中的代码单元由 8 位组成 。
每个代码点中的代码单元数
映射到代码点所需的代码单元数根据编码形式而有所不同:
UTF-8
在 UTF-8 中,因为代码单元较小的缘故 , 每个代码点常常被映射到多个代码单元 。代码点将被映射到一个、两个、三个或四个代码单元 。
UTF-16
UTF-16 的代码单元大小是 8 位代码单元的两倍 。所以,标量值小于 U 10000 的代码点被编码到单个代码单元中 。
对于标量值大于或等于 U 10000 的代码点,每个代码点需要两个代码单元 。在 UTF-16 中 , 这些代码单元对有一个独特的术语:“Unicode 代理对” 。
注意 下面对 Unicode 代理对的支持进行了讨论 。
UTF-32
UTF-32 中使用的 32 位代码单元足够大,每个代码点都可编码为单个代码单元 。
GB18030
在 GB18030 中,因为代码单元较小的缘故 , 每个代码点常常被映射到多个代码单元 。代码点将被映射到一个、两个或四个代码单元 。
对 Unicode 代理对的支持
某些受 Unicode 支持的文字包含代码点的标量值大于或等于 U 10000 的字符 。在 UTF-16 中,通过使用代理对来对这些代码点进行编码 。
正确处理 Unicode 代理对非常重要 。例如,当您在使用 UTF-16 编码的应用程序中处理文本时 , 如果要添加、删除或选择字符以进行剪切、复制或粘贴操作,文本光标必须将每个代码点作为单个文本字符导航 。
Java中代码点和代码单元是什么?怎么理解?举例说明下,它们之间有什么联系有什么区别?为什么代码点代码点就是指javascript型的信息点而代码单元指普遍的广泛的jinmk和gdp信息技术网
Java中码点是什么意思?码点是指一个编码表中的某个字符对应的代码值 。Unicode的码点分为17个代码级别java码点和代码单元,第一个级别是基本的多语言级别java码点和代码单元 , 码点从U 0000——U FFFFjava码点和代码单元,其余的16个级别从U 10000——U 10FFFF,其中包括一些辅助字符 。
Java里的字节码和源代码分别啥意思,和起到什么左右/*java是一门高级编程语言java码点和代码单元,是用来写程序代码java码点和代码单元的 。
用java写java码点和代码单元的文本(字符串序列)就是源代码 。
计算机不能直接执行源代码java码点和代码单元,必须用一个叫编译器的程序(javac.exe)将源代码
翻译成字节码java码点和代码单元,然后让一个叫解释器的程序(java.exe)去执行字节码,即运行程序 。
下面的就是一个小程序的源代码 , 功能是输出九九乘法表 。
下图中的Test.class就是这个源代码文件翻译后的由字节码组成的文件 。
而最下面的那个黑框就是程序执行后的结果 。
java Test就是在执行Test.class字节码文件,即运行这个程序 。
*/
//这下面的就是源代码
public class Test {
public static void main(String[] args) {
int i,j;
for(i=1;i=9;i) {
for(j=1;j=i;j)
System.out.printf("%dx%d=%-4d",j,i,j*i);
System.out.println();
}
}
}
【java码点和代码单元 代码单元和代码点】关于java码点和代码单元和代码单元和代码点的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- sap显示未显示的列,sap行项目显示
- 大型网络游戏端游直播软件,游戏直播软件推荐
- ios10怎么打开词频,苹果手机怎么设置词频
- r语言GO可视化 r语言可视化手册 pdf
- sql怎么导入sqlserver,sql server导入sql
- 包含ppt美化怎么回事的词条
- go语言产生的文件不能用 go语言写入文件
- 怎么设置从移动硬盘启动,怎样设置移动硬盘启动
- 电脑咋下载游戏到桌面上的简单介绍