java中什么是Unicode代码点数
展开全部
你说的是codePoint?可以认为是单个的字符或者字符串中一个个的字符,java的String有一些方法可以或者指定的字符,可以用char表示也可以用int表示
比如 "sfdg".codePointAt(1); 返回结果是102,就是ASCII码中的小写字母 f
"的搜噶".codePointAt(1); 返回结果是25628,就是unicode中的字符 搜
但是ASCII码(可以表示128个字符)没法表示中文和英语外的其他语言字符,于是拓展出了unicode编码体系,可以表示65535个字符(目前这个编码没用完,有空的),java默认的字符编码就是unicode,但是ASCII每个字符一个字节(8位),unicode一个字符是2个字节(16位),太占地方了,所以有人优化了下,形成了utf-8(还有utf-16之类的);
而之所以使用这些编码是因为计算机只认识0101,而我们更习惯具体的字符,因此这个需要做个转换。
比如 "sfdg".codePointAt(1); 返回结果是102,就是ASCII码中的小写字母 f
"的搜噶".codePointAt(1); 返回结果是25628,就是unicode中的字符 搜
但是ASCII码(可以表示128个字符)没法表示中文和英语外的其他语言字符,于是拓展出了unicode编码体系,可以表示65535个字符(目前这个编码没用完,有空的),java默认的字符编码就是unicode,但是ASCII每个字符一个字节(8位),unicode一个字符是2个字节(16位),太占地方了,所以有人优化了下,形成了utf-8(还有utf-16之类的);
而之所以使用这些编码是因为计算机只认识0101,而我们更习惯具体的字符,因此这个需要做个转换。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询