Unicode
外观
< Java 编程
(重定向自 Java 编程/语法/Unicode 源代码)
导航 语言基础 主题: ) |
大多数 Java 程序文本由 ASCII 字符组成,但任何 Unicode 字符都可以用作标识符名称、注释以及字符和字符串文字的一部分。例如,π(即希腊字母小写字母 pi)是有效的 Java 标识符
代码部分 3.100:Pi。
double π = Math.PI;
|
以及在字符串文字中
代码部分 3.101:Pi 文字。
String pi = "π";
|
Unicode 字符也可以通过 Unicode 转义序列来表示。Unicode 转义序列可以出现在 Java 源代码文件的任何位置(包括标识符、注释和 字符串文字 中)。
Unicode 转义序列由以下部分组成:
- 反斜杠 '
\
'(ASCII 字符 92,十六进制 0x5c), - '
u
'(ASCII 117,十六进制 0x75) - 可选地一个或多个额外的 '
u
' 字符,以及 - 四个十六进制数字(字符 '
0
' 到 '9
' 或 'a
' 到 'f
' 或 'A
' 到 'F
')。
这些序列表示 Unicode 字符的 UTF-16 编码。例如,'a' 等同于 '\u0061'。这种转义方法不支持超过 U+FFFF 的字符,或者需要使用代理对。[1]
程序中的任何和所有字符都可以用 Unicode 转义字符表示,但除了 Java 编译器之外,这些程序的可读性不强,而且它们也不够紧凑。
你可以在这里找到字符的完整列表 这里。
π 也可以在 Java 中表示为 Unicode 转义序列 \u03C0
。因此,以下是有效的,但可读性不高的声明和赋值
代码部分 3.102:Pi 的 Unicode 转义序列。
double \u03C0 = Math.PI;
|
以下演示了在其他 Java 语法中使用 Unicode 转义序列
代码部分 3.103:字符串文字中的 Unicode 转义序列。
// Declare Strings pi and quote which contain \u03C0 and \u0027 respectively:
String pi = "\u03C0";
String quote = "\u0027";
|
请注意,Unicode 转义序列的功能与源代码中的任何其他字符相同。例如,\u0022
(双引号,“)需要在字符串中加引号,就像“一样。
代码部分 3.104:双引号。
// Declare Strings doubleQuote1 and doubleQuote2 which both contain " (double quote):
String doubleQuote1 = "\"";
String doubleQuote2 = "\\u0022"; // "\u0022" doesn't work since """ doesn't work.
|
该语言区分字节和字符。字符在内部使用 UCS-2 存储,尽管从 J2SE 5.0 开始,该语言也支持使用 UTF-16 及其代理。因此,Java 程序源代码可能包含任何 Unicode 字符。
因此,以下代码是完全有效的 Java 代码;它包含类和 变量 名字以及字符串 文字 中的中文字符
代码清单 3.50:哈嘍世界.java
public class 哈嘍世界 {
private String 文本 = "哈嘍世界";
}
|