跳轉到內容

Unicode

100% developed
來自華夏公益教科書,開放的書籍,開放的世界

導航 語言基礎 主題:v  d  e )


大多數 Java 程式文字由 ASCII 字元組成,但任何 Unicode 字元都可以用作識別符號名稱、註釋以及字元和字串文字的一部分。例如,π(即希臘字母小寫字母 pi)是有效的 Java 識別符號

Example 程式碼部分 3.100:Pi。
double π = Math.PI;

以及在字串文字中

Example 程式碼部分 3.101:Pi 文字。
String pi = "π";

Unicode 轉義序列

[編輯 | 編輯原始碼]

Unicode 字元也可以透過 Unicode 轉義序列來表示。Unicode 轉義序列可以出現在 Java 原始碼檔案的任何位置(包括識別符號、註釋和 字串文字 中)。

Unicode 轉義序列由以下部分組成:

  1. 反斜槓 '\'(ASCII 字元 92,十六進位制 0x5c),
  2. 'u'(ASCII 117,十六進位制 0x75)
  3. 可選地一個或多個額外的 'u' 字元,以及
  4. 四個十六進位制數字(字元 '0' 到 '9' 或 'a' 到 'f' 或 'A' 到 'F')。

這些序列表示 Unicode 字元的 UTF-16 編碼。例如,'a' 等同於 '\u0061'。這種轉義方法不支援超過 U+FFFF 的字元,或者需要使用代理對。[1]

程式中的任何和所有字元都可以用 Unicode 跳脫字元表示,但除了 Java 編譯器之外,這些程式的可讀性不強,而且它們也不夠緊湊。

你可以在這裡找到字元的完整列表 這裡

π 也可以在 Java 中表示為 Unicode 轉義序列 \u03C0。因此,以下是有效的,但可讀性不高的宣告和賦值

Example 程式碼部分 3.102:Pi 的 Unicode 轉義序列。
double \u03C0 = Math.PI;

以下演示了在其他 Java 語法中使用 Unicode 轉義序列

Example 程式碼部分 3.103:字串文字中的 Unicode 轉義序列。
// Declare Strings pi and quote which contain \u03C0 and \u0027 respectively:
String pi = "\u03C0";
String quote = "\u0027";

請注意,Unicode 轉義序列的功能與原始碼中的任何其他字元相同。例如,\u0022(雙引號,“)需要在字串中加引號,就像“一樣。

Example 程式碼部分 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 程式碼;它包含類和 變數 名字以及字串 文字 中的中文字元

Computer code 程式碼清單 3.50:哈嘍世界.java
public class 哈嘍世界 {
    private String 文字 = "哈嘍世界";
}

參考資料

[編輯 | 編輯原始碼]
  1. “3.1 Unicode”,Java™ 語言規範 [1],Java SE 7 版,第 15-16 頁。


華夏公益教科書