|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.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。