Java字体,CodePoints,字符

时间:2012-05-20 03:03:25

标签: java fonts

除了

我不确定这是Java还是Font问题,但是,我正在使用java.awt.Font类。

上下文

我正在使用java.awt.Font类将字形绘制到屏幕上。有些功能可以让我传递一个角色来绘制。有些函数可以让我传递一个代码点来绘制。

问题

对于a-z,A-Z,0-9这样的字符,(char ch)和(int codepoint)之间的关系是什么?某些标准是否保证对于这些字母数字字符,代码点值只是char的ascii值?

谢谢!

2 个答案:

答案 0 :(得分:2)

Codepoint是新的术语,相当于旧的“ASCII值”。由于现代编码超越了ASCII的7位,因此必须创造另一个词。但是大多数编码与ASCII的前127个字符/代码点相同 - 所以你在这里是安全的,除非你正在处理异乎寻常的IBM编码; - )

答案 1 :(得分:1)

char是16位Unicode字符。一个char可以表示\u0000\uffff之间的任何Unicode字符,并且those characters的所有字符都属于该范围。有char和其他采用code points的方法的原因是因为Unicode实际为1,114,112个字符分配空间,而char是16位原语,只能代表前65,536个那些。