|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.text.Normalizer
public final class Normalizer
此類別提供 normalize 方法,它把 Unicode 文本轉換為等效的組合或分解形式,允許對文本進行更方便地分類別和搜尋。normalize 方法支持在 Unicode Standard Annex #15 — Unicode Normalization Forms 中描述的標準的標準化形式。
在 Unicode 中,帶有重音或其他裝飾的字元可以用幾種不同的方式進行編碼。例如,字元 A-acute。在 Unicode 中,可以被編碼為單個字元(“組合”形式):
U+00C1 LATIN CAPITAL LETTER A WITH ACUTE或者兩個單獨的字元(“分解”形式):
U+0041 LATIN CAPITAL LETTER A U+0301 COMBINING ACUTE ACCENT然而,對程序的使用者而言,這兩個序列都可以被視為同樣的“使用者級”字元“帶有 acute 重音的 A”。當您搜尋或比較文本時,必須確保這兩個序列被視為是等效的。另外,您必須處理帶有多個重音的字元。有時候一個字元的組合重音順序很重要,而在另一些情況下,不同順序的重音序列則可能完全等效。
類似地,字元串 "ffi" 可被編碼為三個單獨的字母。
U+0066 LATIN SMALL LETTER F U+0066 LATIN SMALL LETTER F U+0069 LATIN SMALL LETTER I或者單個字元
U+FB03 LATIN SMALL LIGATURE FFIffi 連字不是明顯的語義字元,嚴格來說,它根本不應該在 Unicode 中,這裡包含它是為了與已經提供它的現有字元集相容。通過“相容 (compatibility)”分解,Unicode 標準將這類別字元標識為相應的語義字元。進行分類別和搜尋時,您會經常希望使用這些映射。
normalize 方法通過將文本轉換為規範的組合和分解形式來說明解決這些問題,正如上面第一個例子所示。另外,您可以使它執行相容分解,以便可以將相容性字元視為與其等價物一樣。最後,normalize 方法將重音重新排列為適當的規範順序,因此不必考慮重音的重新排列問題。
W3C 通常建議在 NFC 中交換文本。還要注意,大多數遺留字元編碼僅使用預組合形式,並且其本身並不對任何合成標記進行編碼。對於到此類別字元編碼的轉換,Unicode 文本需要標準化為 NFC。有關更多使用實例,請參見 Unicode Standard Annex。
| 巢狀類別摘要 | |
|---|---|
static class |
Normalizer.Form
此列舉提供在 Unicode Standard Annex #15 — Unicode Normalization Forms 中描述的四個 Unicode 標準化形式的常數,以及存取這些常數的兩個方法。 |
| 方法摘要 | |
|---|---|
static boolean |
isNormalized(CharSequence src,
Normalizer.Form form)
確定給定的 char 值序列是否被標準化。 |
static String |
normalize(CharSequence src,
Normalizer.Form form)
標準化 char 值序列。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 方法詳細資訊 |
|---|
public static String normalize(CharSequence src,
Normalizer.Form form)
src - 要標準化的 char 值序列。form - 標準化形式;Normalizer.Form.NFC、Normalizer.Form.NFD、Normalizer.Form.NFKC、Normalizer.Form.NFKD 之一
NullPointerException - 如果 src 或 form 為 null。
public static boolean isNormalized(CharSequence src,
Normalizer.Form form)
src - 要檢查的 char 值序列。form - 標準化形式;Normalizer.Form.NFC、Normalizer.Form.NFD、Normalizer.Form.NFKC、Normalizer.Form.NFKD 之一
NullPointerException - 如果 src 或 form 為 null。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。