Normalizer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
此類別提供 normalize 將 Unicode 文字轉換為等效的組合或分解格式的方法,使文字的排序與搜尋更為方便。
[Android.Runtime.Register("java/text/Normalizer", DoNotGenerateAcw=true)]
public sealed class Normalizer : Java.Lang.Object
[<Android.Runtime.Register("java/text/Normalizer", DoNotGenerateAcw=true)>]
type Normalizer = class
inherit Object
- 繼承
- 屬性
備註
此類別提供 normalize 將 Unicode 文字轉換為等效的組合或分解格式的方法,使文字的排序與搜尋更為方便。 此 normalize 方法支援 Unicode 標準附錄 #15 — Unicode 正規化格式中描述的標準正規化形式。
帶有重音或其他裝飾的字元可以在 Unicode 中以多種不同方式編碼。 舉例來說,以字元A-acute為例。 在 Unicode 中,這可以編碼為單一字元(即「組合」形式):
U+00C1 LATIN CAPITAL LETTER A WITH ACUTE
或作為兩個獨立字元(「分解」形式):
U+0041 LATIN CAPITAL LETTER A
U+0301 COMBINING ACUTE ACCENT
然而,對程式使用者而言,這兩個序列應視為同一個「使用者層級」字元「帶有尖銳口音的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 FFI
FFI 連字並不是獨立的語意字元,嚴格來說它根本不應該出現在 Unicode 裡,但它是為了與已有的字元集相容而加入的。 Unicode 標準透過賦予這些字元「相容性」分解成對應的語意字元來識別這些字元。 在排序和搜尋時,你通常會想使用這些映射。
該 normalize 方法透過將文本轉換為典型的組合與分解形式,如上述第一個範例所示,有助於解決這些問題。 此外,你也可以讓它執行相容性分解,讓你能將相容性字元視為對應的對應字元。 最後,該 normalize 方法會將重音重新排列成正確的標準順序,讓你不必自己擔心重音重排。
W3C 通常建議以 NFC 交換簡訊。 同時也要注意,大多數舊有字元編碼僅使用預組合的形式,且通常不會單獨編碼任何組合標記。 若要轉換成此類字元編碼,Unicode 文本需正規化為 NFC。 更多使用範例請參閱 Unicode 標準附錄。
新增於1.6版本。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
此類別提供 |
| JniPeerMembers |
此類別提供 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
此類別提供 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
此類別提供 |
| Equals(Object) |
此類別提供 |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| IsNormalized(ICharSequence, Normalizer+Form) |
判斷給定的燒痕值序列是否被正規化。 |
| IsNormalized(String, Normalizer+Form) |
判斷給定的燒痕值序列是否被正規化。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Normalize(ICharSequence, Normalizer+Form) |
將一連串燒痕值正規化。 |
| Normalize(String, Normalizer+Form) |
將一連串燒痕值正規化。 |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
此類別提供 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
此類別提供 |
| IJavaPeerable.Finalized() |
此類別提供 |
| IJavaPeerable.JniObjectReferenceControlBlock |
此類別提供 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
此類別提供 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此類別提供 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
此類別提供 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
此類別提供 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |