Unicode
外觀
(重定向自 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 文字 = "哈嘍世界";
}
|