在Java中,字符的int值应该称为其ASCII值或Unicode值

时间:2012-02-04 03:09:49

标签: java unicode ascii

我正在开发一个只用大写字母处理的Java程序。在某些处理过程中,我使用的是这些大写字母的字符int值。我理解大写字母的值在Unicode和ASCII中是相同的,但在引用这些int值时,我应该说它们是Unicode值还是ASCII值?我只是想确保我在语言方面使用正确的术语。

3 个答案:

答案 0 :(得分:2)

它应该被称为Unicode代码单元。 Java char是一个16位Unicode代码单元,而不是32位Unicode代码点(最初认为Unicode是16位)。无论值是什么,它总是取16位。 ASCII是7位(如果考虑0填充/错误检查位,则为8)。因此,即使实际值相同,该术语也不完全适用。

答案 1 :(得分:1)

如果字符只是ASCII,则可以将它们称为ASCII。否则,您应该使用术语Unicode,正如您所说,它是ASCII的正确超集。请记住,即使您将引用作为ASCII,如果您将它们发送到期望真实的内容( -t>),则可能需要更改编码 )ASCII。

如果您的软件只处理ASCII范围内的代码点(并且见下文,这通常不是一个好主意),那么(对用户或文档中)“ASCII值”比“更容易” ASCII范围中的Unicode值“: - )

如果只处理ASCII范围内的大写字母,实际上误导会将您的值作为Unicode代码点引用到大写字母的上下文中。

现在任何新软件都应该用Unicode编写,并且包括大写字母不限于ASCII范围的事实。

例如,有一大块希腊字符接近 ASCII范围,具有大写和小写属性。 SpecialCasing.txt文件显示了这些属性,并且主题上还有一个FAQ

答案 2 :(得分:0)

根据the Unicode Glossary数字代码的正确和正确的字词是 代码点 。例如:

  • DIGIT ONE的代码点是31 16 (49 10 ),通常写为U + 0031。
  • POUND SIGN的代码点是U + 00A3
  • LATIN SMALL LETTER I WITH DIAERESIS的代码点是U + 00EF。
  • GREEK SMALL LETTER MU的代码点是U + 03BC。
  • LATIN SMALL LETTER F WITH DOT ABOVE的代码点是U + 1E1F。
  • REPLACEMENT CHARACTER的代码点是U + FFFD。
  • MUSICAL SYMBOL DOUBLE FLAT的代码点是U + 1D12B。
  • MATHEMATICAL ITALIC CAPITAL R的代码点是U + 1D445。
  • EXTRATERRESTRIAL ALIEN的代码点是U + 1F47D。
  • U + 100002是Supplementary_Private_Use_Area_B块中指定的代码点。
  • 代码点U + 0041的指定名称为LATIN CAPITAL LETTER A
  • 代码点U + 1F47E的指定名称为ALIEN MONSTER
  • 代码点U + 0FFE未分配,因此没有名称。

依此类推。