UCharacter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
<強力>加護病房增強</強力> 加護病房取代 java.lang.Character了。
[Android.Runtime.Register("android/icu/lang/UCharacter", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class UCharacter : Java.Lang.Object
[<Android.Runtime.Register("android/icu/lang/UCharacter", ApiSince=24, DoNotGenerateAcw=true)>]
type UCharacter = class
inherit Object
- 繼承
- 屬性
備註
<強力>[加護病房增強]</強重> 加護病房取代 java.lang.Character. ICU特有的方法、領域及其他功能標示為「<強力>[重症監護室]</強力>」。
UCharacter 類別為該 java.lang.Character 類別提供擴充功能。 這些擴充功能支援更多 Unicode 屬性。 每個 ICU 版本都支援當時最新的 Unicode 版本。
在 Java 5 加入補充 Unicode 碼點支援之前,ICU UCharacter 類別及許多其他 ICU 類別已支援這些碼點。 部分 UCharacter 方法與常數的擴大方式與 Character 類別方法與常數稍有不同。 特別地, Character#MAX_VALUE 仍是一個字元,值為 U+FFFF,而 則 UCharacter#MAX_VALUE 是一個整數值為 U+10FFFF。
這些 API 中會用整數來表示程式碼點。 雖然在 Java 中為它們設置獨立的原始資料型態會更方便,但在此期間,整數就足夠了。
除了 UTF-16 支援的新增功能及更新的 Unicode 屬性外,UCharacter 與 Character 的主要差異是:<ul><li> UCharacter 並非設計為字元包裝器,且沒有需要管理該字元的 API。<br> 這些包括:<ul><li> char charValue(), <li> int compareTo(java.lang.Character, java.lang.角色),等等。 </ul><li> UCharacter 不包含已棄用的字元 API,也不包含 Java 專屬的字元資訊,例如布林值 isJavaIdentifierPart(char ch)。 <li> 字元將字元「A'-'Z' 及「a'-'z' 映射到數值 '10' - '35'。 UCharacter 也在數位和 getNumericValue 中做到這點,以符合這些方法的 Java 語意。 新方法如 unicodeDigit 與 getUnicodeNumericValue 不會將上述碼點視為數值。 這是從 ICU4J 1.3.1 的語義變更。 </ul>
除了計算衍生屬性的 Java 相容函數外,此 API 還提供 Unicode 字元資料庫的低階存取權限。
Unicode 會為許多屬性分配每個碼點(不只是分配的字元)值。 大多數是簡單的布林旗,或是來自小型列舉清單的常數。 對於某些屬性,值是字串或其他相對複雜的類型。
更多資訊 請參閱「關於 Unicode 字元資料庫 」(http://www.unicode.org/ucd/) 以及 ICU 使用者指南中關於屬性的章節 )https://unicode-org.github.io/icu/userguide/strings/properties).
也有像 isblank() 這樣能輕鬆從 C/POSIX 函式遷移的函式。 由於 C/POSIX 標準未定義其語意範圍超出 ASCII 範圍,導致不同實作行為差異甚大,因此通常不建議使用這些標準。 相反地,應該直接使用 Unicode 屬性。
而且只有少數幾個廣泛的C/POSIX角色類別,且它們往往用於相互衝突的目的。 例如,有時會用「isalpha()」類別來決定單字邊界,而更複雜的方法至少會區分開頭字母與續字元(後者包含組合符號)。 (在 ICU 中,BreakIterator 是最先進的字邊界 API。)另一個例子:標題大小寫字元沒有「istitle()」類別。
ICU 3.4 及更新版本提供所有十二種 C/POSIX 字元類別的 API 存取。 ICU 依據附錄 C 中的標準建議:UTS #18 Unicode 正則表達式的相容性(http://www.unicode.org/reports/tr18/#Compatibility_Properties).
C/POSIX 字元類別的 API 存取方式如下:
{@code
- alpha: isUAlphabetic(c) or hasBinaryProperty(c, UProperty.ALPHABETIC)
- lower: isULowercase(c) or hasBinaryProperty(c, UProperty.LOWERCASE)
- upper: isUUppercase(c) or hasBinaryProperty(c, UProperty.UPPERCASE)
- punct: ((1<<getType(c)) & ((1<<DASH_PUNCTUATION)|(1<<START_PUNCTUATION)|
(1<<END_PUNCTUATION)|(1<<CONNECTOR_PUNCTUATION)|(1<<OTHER_PUNCTUATION)|
(1<<INITIAL_PUNCTUATION)|(1<<FINAL_PUNCTUATION)))!=0
- digit: isDigit(c) or getType(c)==DECIMAL_DIGIT_NUMBER
- xdigit: hasBinaryProperty(c, UProperty.POSIX_XDIGIT)
- alnum: hasBinaryProperty(c, UProperty.POSIX_ALNUM)
- space: isUWhiteSpace(c) or hasBinaryProperty(c, UProperty.WHITE_SPACE)
- blank: hasBinaryProperty(c, UProperty.POSIX_BLANK)
- cntrl: getType(c)==CONTROL
- graph: hasBinaryProperty(c, UProperty.POSIX_GRAPH)
- print: hasBinaryProperty(c, UProperty.POSIX_PRINT)}
C/POSIX 字元類別也可在 UnicodeSet 模式中使用,使用像是 [:graph:] 或 \p{graph} 這類模式。
<strong>[icu] 註:</strong> 有幾個 ICU(及 Java)空白空間函式。 比較:<ul><li> isUWhiteSpace = UCHAR_WHITE_SPACE:Unicode White_Space屬性;大多數一般類別「Z」(分隔符)+ 大部分空白 ISO 控制(包括無中斷空間,但不含 IS1..IS4) <li> isWhitespace:Java isWhitespace;Z + 空白 ISO 控制但不包含無中斷空間 <li> isSpaceChar:僅 Z(包含無中斷空間)</ul>
這個職業不適合子職業。
Java 文件 android.icu.lang.UCharacter。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
欄位
| 名稱 | Description |
|---|---|
| FoldCaseDefault |
已淘汰.
<strong>[icu]</strong> Option 值用於案例摺疊:使用 CaseFolding 中定義的預設映射。 |
| FoldCaseExcludeSpecialI |
已淘汰.
<strong>[icu]</strong> Option 值用於案例摺疊:使用 CaseFolding 中所提供的修改過的映射集合。 |
| MaxCodePoint |
常數 U+10FFFF,與 |
| MaxHighSurrogate |
常數 U+DBFF,與 |
| MaxLowSurrogate |
常數 U+DFFF,與 |
| MaxRadix |
角色MAX_RADIX相容性不變Java。 |
| MaxSurrogate |
常數 U+DFFF,與 |
| MaxValue |
最高的 Unicode 碼點值(純量值)為常數 U+10FFFF(使用 21 位元)。 |
| MinCodePoint |
常數 U+0000,與 |
| MinHighSurrogate |
常數 U+D800,與 |
| MinLowSurrogate |
恆定 U+DC00,與 |
| MinRadix |
角色MIN_RADIX相容性Java常數。 |
| MinSupplementaryCodePoint |
常數 U+10000,與 |
| MinSurrogate |
常數 U+D800,與 |
| MinValue |
最低的 Unicode 代碼點數值為常數 0。 |
| NoNumericValue |
當沒有為某個碼點定義數值時,getUnicodeNumericValue(int) 會回傳這個特殊值。 |
| ReplacementChar |
翻譯成 Unicode 編碼形式時所使用的 Unicode 值,且沒有現有字元。 |
| SupplementaryMinValue |
補充碼點數的最低值為常數 U+10000。 |
| TitlecaseNoBreakAdjustment |
已淘汰.
請勿調整 BreakIterator::next() 索引的標題大寫索引;標題格完全是從迭代器中斷開的字元。 |
| TitlecaseNoLowercase |
已淘汰.
標題時不要將非詞首部分小寫。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| ExtendedNameIterator |
<強壯>[加護病房]</強力> |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
<強力>加護病房增強</強力> 加護病房取代 |
| JniPeerMembers |
<強力>加護病房增強</強力> 加護病房取代 |
| NameIterator |
<強壯>[加護病房]</強力> |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| TypeIterator |
<強壯>[加護病房]</強力> |
| UnicodeVersion |
<strong>[icu]</strong> 回傳所使用的 Unicode 資料版本。 |
方法
| 名稱 | Description |
|---|---|
| CharCount(Int32) |
與 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| CodePointAt(Char[], Int32, Int32) |
與 |
| CodePointAt(Char[], Int32) |
與 |
| CodePointAt(ICharSequence, Int32) |
與 |
| CodePointAt(String, Int32) |
與 |
| CodePointBefore(Char[], Int32, Int32) |
與 |
| CodePointBefore(Char[], Int32) |
與 |
| CodePointBefore(ICharSequence, Int32) |
與 |
| CodePointBefore(String, Int32) |
與 |
| CodePointCount(Char[], Int32, Int32) |
為了方便,這和這個 |
| CodePointCount(ICharSequence, Int32, Int32) |
為了方便,這和這個 |
| CodePointCount(String, Int32, Int32) |
為了方便,這和這個 |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
<強力>加護病房增強</強力> 加護病房取代 |
| Digit(Int32, Int32) |
回傳一個十進位碼點的數值。 |
| Digit(Int32) |
回傳一個十進位碼點的數值。 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
<強力>加護病房增強</強力> 加護病房取代 |
| Equals(Object) |
<強力>加護病房增強</強力> 加護病房取代 |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| FoldCase(Int32, Boolean) |
<strong>[icu]</strong> 根據 UnicodeData 將給定字元映射到其格摺疊等價。 |
| FoldCase(Int32, FoldCaseOptions) |
<strong>[icu]</strong> 根據 UnicodeData 將給定字元映射到其格摺疊等價。 |
| FoldCase(String, Boolean) |
<strong>[icu]</strong> 根據 UnicodeData 將字串映射到其格摺疊等價。 |
| FoldCase(String, FoldCaseOptions) |
<strong>[icu]</strong> 根據 UnicodeData 將字串映射到其格摺疊等價。 |
| ForDigit(Int32, Int32) |
提供咖啡。 |
| GetAge(Int32) |
<strong>[icu]</strong> 回傳代碼點的「年齡」。 |
| GetBidiPairedBracket(Int32) |
<strong>[icu]</strong> 將指定字元映射到其配對的括號字元。 |
| GetCharFromExtendedName(String) |
<強壯>[加護病房]</強力> |
| GetCharFromName(String) |
<強壯>[加護病房]</強力> |
| GetCharFromNameAlias(String) |
<強壯>[加護病房]</強力> |
| GetCodePoint(Char, Char) |
<strong>[icu]</strong> 回傳一個對應兩個替代碼單元的碼點。 |
| GetCodePoint(Char) |
<strong>[icu]</strong> 回傳對應 BMP 代碼點的代碼點。 |
| GetCodePoint(Int32, Int32) |
<strong>[icu]</strong> 回傳一個對應兩個替代碼單元的碼點。 |
| GetCombiningClass(Int32) |
<strong>[icu]</strong> 回傳參數碼點的組合類別 |
| GetDirection(Int32) |
<strong>[icu]</strong> 回傳碼點的雙向性質。 |
| GetDirectionality(Int32) |
為了方便,這和這個 |
| GetExtendedName(Int32) |
<strong>[icu]</strong> 回傳有效碼點的名稱。 |
| GetHanNumericValue(Int32) |
<strong>[icu]</strong> 回傳漢字的數值。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| GetIdentifierTypes(Int32, EnumSet) |
將代碼點 c 的 Identifier_Type 寫成一組 IdentifierType 值,並回傳類型數量。 |
| GetIntPropertyMaxValue(Int32) |
<strong>[icu]</strong> 回傳整數/二進位 Unicode 屬性的最大值。 |
| GetIntPropertyMinValue(Int32) |
<strong>[icu]</strong> 回傳整數/二元Unicode 屬性類型的最小值。 |
| GetIntPropertyValue(Int32, Int32) |
<strong>[icu]</strong> 回傳 Unicode 屬性型別的屬性值。 |
| GetMirror(Int32) |
<strong>[icu]</strong> 將指定的程式碼標記映射到一個「鏡像」編碼點。 |
| GetName(Int32) |
<strong>[icu]</strong> 回傳參數代碼點的最新 Unicode 名稱,若字元未指派或超出範圍 |
| GetName(String, String) |
<strong>[icu]</strong> 回傳字串中每個字元的名稱 |
| GetNameAlias(Int32) |
<strong>[icu]</strong> 回傳 NameAliases 中修正後的名稱。 |
| GetNumericValue(Int32) |
回傳碼點的數值為非負整數。 |
| GetPropertyEnum(ICharSequence) |
<strong>[icu]</strong> 回傳給定屬性名稱的 UProperty 選擇器,依 Unicode 資料庫檔案 PropertyAliases 中指定的。 |
| GetPropertyEnum(String) |
<strong>[icu]</strong> 回傳給定屬性名稱的 UProperty 選擇器,依 Unicode 資料庫檔案 PropertyAliases 中指定的。 |
| GetPropertyName(Int32, Int32) |
<strong>[icu]</strong> 回傳給定屬性的 Unicode 名稱,如 Unicode 資料庫檔案 PropertyAliases 中所示。 |
| GetPropertyValueEnum(Int32, ICharSequence) |
<strong>[icu]</strong> 回傳給定值名稱的整數屬性,該名稱依 Unicode 資料庫檔案 PropertyValueAliases 所指定。 |
| GetPropertyValueEnum(Int32, String) |
<strong>[icu]</strong> 回傳給定值名稱的整數屬性,該名稱依 Unicode 資料庫檔案 PropertyValueAliases 所指定。 |
| GetPropertyValueName(Int32, Int32, Int32) |
<strong>[icu]</strong> 回傳給定屬性值的 Unicode 名稱,如 Unicode 資料庫檔案 PropertyValueAliases 所示。 |
| GetType(Int32) |
回傳一個值,表示該碼點的 Unicode 類別。 |
| GetUnicodeNumericValue(Int32) |
<strong>[icu]</strong> 回傳 Unicode 字元資料庫中定義的 Unicode 代碼點的數值。 |
| HasBinaryProperty(ICharSequence, Int32) |
<strong>[icu]</strong> 若該性質對字串為真,則回傳真。 |
| HasBinaryProperty(Int32, Int32) |
<strong>[icu]</strong> 檢查 Unicode 二進位屬性以取得代碼點。 |
| HasBinaryProperty(String, Int32) |
<strong>[icu]</strong> 若該性質對字串為真,則回傳真。 |
| HasIdentifierType(Int32, UCharacter+IdentifierType) |
Identifier_Type值集合代碼點 c 是否包含給定型別? |
| IsBaseForm(Int32) |
<strong>[icu]</strong> 判斷指定的碼點是否為基數形式。 |
| IsBMP(Int32) |
<strong>[icu]</strong> 判斷編碼點是否位於 BMP 平面。 |
| IsDefined(Int32) |
判斷碼點在 up-to-日期 Unicode 標準中是否有明確意義。 |
| IsDigit(Int32) |
判斷碼點是否為 Java 數字。 |
| IsHighSurrogate(Char) |
與 , |
| IsHighSurrogate(Int32) |
和 一樣, |
| IsIdentifierIgnorable(Int32) |
判斷指定的代碼點是否應被視為 Java 識別碼中的可忽略字元。 |
| IsISOControl(Int32) |
判斷指定的碼點是否為 ISO 控制字元。 |
| IsJavaIdentifierPart(Int32) |
Java 方法的相容性覆寫,委派給 java。 |
| IsJavaIdentifierStart(Int32) |
Java 方法的相容性覆寫,委派給 java。 |
| IsLegal(Int32) |
<強[>icu]</strong> A 代碼點當且僅當 <ul><li> 越界、小於 0 或大於 UCharacter 時才是非法的。 |
| IsLegal(String) |
<強> [icu]</strong> A 字串合法,當其所有碼點皆合法時。 |
| IsLetter(Int32) |
判斷指定的代碼點是否為字母。 |
| IsLetterOrDigit(Int32) |
判斷指定的代碼點是字母還是數字。 |
| IsLowerCase(Int32) |
判斷指定的代碼點是否為小寫字元。 |
| IsLowSurrogate(Char) |
與 , |
| IsLowSurrogate(Int32) |
和 一樣, |
| IsMirrored(Int32) |
判斷該碼點是否具有「鏡像」特性。 |
| IsPrintable(Int32) |
<strong>[icu]</strong> 判斷指定的代碼點是否為可列印字元,依據 Unicode 標準。 |
| IsSpaceChar(Int32) |
判斷指定的碼點是否為 Unicode 指定的空格字元,i。 |
| IsSupplementary(Int32) |
<strong>[icu]</strong> 判斷該代碼點是否為輔助字元。 |
| IsSupplementaryCodePoint(Int32) |
與 |
| IsSurrogatePair(Char, Char) |
與 |
| IsSurrogatePair(Int32, Int32) |
和 一樣, |
| IsTitleCase(Int32) |
判斷指定的代碼點是否為標題大小寫字元。 |
| IsUAlphabetic(Int32) |
<強壯>[加護病房]</強力> |
| IsULowercase(Int32) |
<強壯>[加護病房]</強力> |
| IsUnicodeIdentifierPart(Int32) |
根據 UAX #31 Unicode 識別碼與模式語法,判斷指定字元是否可作為非初始字元出現。 |
| IsUnicodeIdentifierStart(Int32) |
根據 UAX #31 Unicode 識別碼與模式語法,判斷指定字元是否允許作為識別碼的第一個字元。 |
| IsUpperCase(Int32) |
判斷指定的代碼點是否為大寫字元。 |
| IsUUppercase(Int32) |
<強壯>[加護病房]</強力> |
| IsUWhiteSpace(Int32) |
<強壯>[加護病房]</強力> |
| IsValidCodePoint(Int32) |
cp 是 Unicode 代碼點 U+0000 嗎? |
| IsWhitespace(Int32) |
判斷指定的碼點是否為空白字元。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| OffsetByCodePoints(Char[], Int32, Int32, Int32, Int32) |
等價於
|
| OffsetByCodePoints(ICharSequence, Int32, Int32) |
為了方便,這和這個 |
| OffsetByCodePoints(String, Int32, Int32) |
為了方便,這和這個 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
<強力>加護病房增強</強力> 加護病房取代 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToChars(Int32, Char[], Int32) |
與 |
| ToChars(Int32) |
與 |
| ToCodePoint(Char, Char) |
與 |
| ToCodePoint(Int32, Int32) |
和 一樣, |
| ToLowerCase(Int32) |
給定的碼點會映射到其小寫等價物;若碼點沒有小寫等價物,則回傳碼碼點本身。 |
| ToLowerCase(Locale, String) |
回傳參數字串的小寫版本。 |
| ToLowerCase(String) |
回傳參數字串的小寫版本。 |
| ToLowerCase(ULocale, String) |
回傳參數字串的小寫版本。 |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| ToString(Int32) |
轉換參數碼點,並回傳一個 UTF-16 格式的 String 物件,代表該碼點的值。 |
| ToTitleCase(Int32) |
將 code point 參數轉換成 titlecase。 |
| ToTitleCase(Locale, String, BreakIterator, TitlecaseOptions) |
<強壯>[加護病房]</強力> |
| ToTitleCase(Locale, String, BreakIterator) |
回傳參數字串的標題大小寫版本。 |
| ToTitleCase(String, BreakIterator) |
回傳參數字串的標題大小寫版本。 |
| ToTitleCase(ULocale, String, BreakIterator, TitlecaseOptions) |
回傳參數字串的標題大小寫版本。 |
| ToTitleCase(ULocale, String, BreakIterator) |
回傳參數字串的標題大小寫版本。 |
| ToUpperCase(Int32) |
將字元論元轉換為大寫字母。 |
| ToUpperCase(Locale, String) |
回傳參數字串的大寫版本。 |
| ToUpperCase(String) |
回傳參數字串的大寫版本。 |
| ToUpperCase(ULocale, String) |
回傳參數字串的大寫版本。 |
| 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) |
試著強制 |