ICU4C

摘要

枚举

Anonymous Enum 117{
  U_PARSE_CONTEXT_LEN = 16
}
enum
UParseError 结构体中上下文字符串的容量。
UAcceptResult{
  ULOC_ACCEPT_FAILED = 0,
  ULOC_ACCEPT_VALID = 1,
  ULOC_ACCEPT_FALLBACK = 2
}
enum
uloc_acceptLanguage() 写入 'outResult' 参数的输出值。
UBidiPairedBracketType{
  U_BPT_NONE,
  U_BPT_OPEN,
  U_BPT_CLOSE,
  U_BPT_COUNT
}
enum
Bidi 配对括号类型常量。
UBlockCode{
  UBLOCK_NO_BLOCK = 0,
  UBLOCK_BASIC_LATIN = 1,
  UBLOCK_LATIN_1_SUPPLEMENT =2,
  UBLOCK_LATIN_EXTENDED_A =3,
  UBLOCK_LATIN_EXTENDED_B =4,
  UBLOCK_IPA_EXTENSIONS =5,
  UBLOCK_SPACING_MODIFIER_LETTERS =6,
  UBLOCK_COMBINING_DIACRITICAL_MARKS =7,
  UBLOCK_GREEK =8,
  UBLOCK_CYRILLIC =9,
  UBLOCK_ARMENIAN =10,
  UBLOCK_HEBREW =11,
  UBLOCK_ARABIC =12,
  UBLOCK_SYRIAC =13,
  UBLOCK_THAANA =14,
  
UBLOCK_DEVANAGARI =15,
  UBLOCK_BENGALI =16,
  UBLOCK_GURMUKHI =17,
  UBLOCK_GUJARATI =18,
  UBLOCK_ORIYA =19,
  UBLOCK_TAMIL =20,
  UBLOCK_TELUGU =21,
  UBLOCK_KANNADA =22,
  UBLOCK_MALAYALAM =23,
  UBLOCK_SINHALA =24,
  UBLOCK_THAI =25,
  UBLOCK_LAO =26,
  UBLOCK_TIBETAN =27,
  UBLOCK_MYANMAR =28,
  UBLOCK_GEORGIAN =29,
  UBLOCK_HANGUL_JAMO =30,
  UBLOCK_ETHIOPIC =31,
  UBLOCK_CHEROKEE =32,
  UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33,
  UBLOCK_OGHAM =34,
  UBLOCK_RUNIC =35,
  UBLOCK_KHMER =36,
  UBLOCK_MONGOLIAN =37,
  UBLOCK_LATIN_EXTENDED_ADDITIONAL =38,
  UBLOCK_GREEK_EXTENDED =39,
  UBLOCK_GENERAL_PUNCTUATION =40,
  UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41,
  UBLOCK_CURRENCY_SYMBOLS =42,
  UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43,
  UBLOCK_LETTERLIKE_SYMBOLS =44,
  UBLOCK_NUMBER_FORMS =45,
  UBLOCK_ARROWS =46,
  UBLOCK_MATHEMATICAL_OPERATORS =47,
  UBLOCK_MISCELLANEOUS_TECHNICAL =48,
  UBLOCK_CONTROL_PICTURES =49,
  UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50,
  UBLOCK_ENCLOSED_ALPHANUMERICS =51,
  UBLOCK_BOX_DRAWING =52,
  UBLOCK_BLOCK_ELEMENTS =53,
  UBLOCK_GEOMETRIC_SHAPES =54,
  UBLOCK_MISCELLANEOUS_SYMBOLS =55,
  UBLOCK_DINGBATS =56,
  UBLOCK_BRAILLE_PATTERNS =57,
  UBLOCK_CJK_RADICALS_SUPPLEMENT =58,
  UBLOCK_KANGXI_RADICALS =59,
  UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60,
  UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61,
  UBLOCK_HIRAGANA =62,
  UBLOCK_KATAKANA =63,
  UBLOCK_BOPOMOFO =64,
  UBLOCK_HANGUL_COMPATIBILITY_JAMO =65,
  UBLOCK_KANBUN =66,
  UBLOCK_BOPOMOFO_EXTENDED =67,
  UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68,
  UBLOCK_CJK_COMPATIBILITY =69,
  UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70,
  UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71,
  UBLOCK_YI_SYLLABLES =72,
  UBLOCK_YI_RADICALS =73,
  UBLOCK_HANGUL_SYLLABLES =74,
  UBLOCK_HIGH_SURROGATES =75,
  UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76,
  UBLOCK_LOW_SURROGATES =77,
  UBLOCK_PRIVATE_USE_AREA =78,
  UBLOCK_PRIVATE_USE = UBLOCK_PRIVATE_USE_AREA,
  UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79,
  UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80,
  UBLOCK_ARABIC_PRESENTATION_FORMS_A =81,
  UBLOCK_COMBINING_HALF_MARKS =82,
  UBLOCK_CJK_COMPATIBILITY_FORMS =83,
  UBLOCK_SMALL_FORM_VARIANTS =84,
  UBLOCK_ARABIC_PRESENTATION_FORMS_B =85,
  UBLOCK_SPECIALS =86,
  UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87,
  UBLOCK_OLD_ITALIC = 88,
  UBLOCK_GOTHIC = 89,
  UBLOCK_DESERET = 90,
  UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91,
  UBLOCK_MUSICAL_SYMBOLS = 92,
  UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93,
  UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94,
  UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95,
  UBLOCK_TAGS = 96,
  UBLOCK_CYRILLIC_SUPPLEMENT = 97,
  UBLOCK_CYRILLIC_SUPPLEMENTARY = UBLOCK_CYRILLIC_SUPPLEMENT,
  UBLOCK_TAGALOG = 98,
  UBLOCK_HANUNOO = 99,
  UBLOCK_BUHID = 100,
  UBLOCK_TAGBANWA = 101,
  UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102,
  UBLOCK_SUPPLEMENTAL_ARROWS_A = 103,
  UBLOCK_SUPPLEMENTAL_ARROWS_B = 104,
  UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105,
  UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106,
  UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107,
  UBLOCK_VARIATION_SELECTORS = 108,
  UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109,
  UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110,
  UBLOCK_LIMBU = 111,
  UBLOCK_TAI_LE = 112,
  UBLOCK_KHMER_SYMBOLS = 113,
  UBLOCK_PHONETIC_EXTENSIONS = 114,
  UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115,
  UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116,
  UBLOCK_LINEAR_B_SYLLABARY = 117,
  UBLOCK_LINEAR_B_IDEOGRAMS = 118,
  UBLOCK_AEGEAN_NUMBERS = 119,
  UBLOCK_UGARITIC = 120,
  UBLOCK_SHAVIAN = 121,
  UBLOCK_OSMANYA = 122,
  UBLOCK_CYPRIOT_SYLLABARY = 123,
  UBLOCK_TAI_XUAN_JING_SYMBOLS = 124,
  UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125,
  UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = 126,
  UBLOCK_ANCIENT_GREEK_NUMBERS = 127,
  UBLOCK_ARABIC_SUPPLEMENT = 128,
  UBLOCK_BUGINESE = 129,
  UBLOCK_CJK_STROKES = 130,
  UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131,
  UBLOCK_COPTIC = 132,
  UBLOCK_ETHIOPIC_EXTENDED = 133,
  UBLOCK_ETHIOPIC_SUPPLEMENT = 134,
  UBLOCK_GEORGIAN_SUPPLEMENT = 135,
  UBLOCK_GLAGOLITIC = 136,
  UBLOCK_KHAROSHTHI = 137,
  UBLOCK_MODIFIER_TONE_LETTERS = 138,
  UBLOCK_NEW_TAI_LUE = 139,
  UBLOCK_OLD_PERSIAN = 140,
  UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = 141,
  UBLOCK_SUPPLEMENTAL_PUNCTUATION = 142,
  UBLOCK_SYLOTI_NAGRI = 143,
  UBLOCK_TIFINAGH = 144,
  UBLOCK_VERTICAL_FORMS = 145,
  UBLOCK_NKO = 146,
  UBLOCK_BALINESE = 147,
  UBLOCK_LATIN_EXTENDED_C = 148,
  UBLOCK_LATIN_EXTENDED_D = 149,
  UBLOCK_PHAGS_PA = 150,
  UBLOCK_PHOENICIAN = 151,
  UBLOCK_CUNEIFORM = 152,
  UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153,
  UBLOCK_COUNTING_ROD_NUMERALS = 154,
  UBLOCK_SUNDANESE = 155,
  UBLOCK_LEPCHA = 156,
  UBLOCK_OL_CHIKI = 157,
  UBLOCK_CYRILLIC_EXTENDED_A = 158,
  UBLOCK_VAI = 159,
  UBLOCK_CYRILLIC_EXTENDED_B = 160,
  UBLOCK_SAURASHTRA = 161,
  UBLOCK_KAYAH_LI = 162,
  UBLOCK_REJANG = 163,
  UBLOCK_CHAM = 164,
  UBLOCK_ANCIENT_SYMBOLS = 165,
  UBLOCK_PHAISTOS_DISC = 166,
  UBLOCK_LYCIAN = 167,
  UBLOCK_CARIAN = 168,
  UBLOCK_LYDIAN = 169,
  UBLOCK_MAHJONG_TILES = 170,
  UBLOCK_DOMINO_TILES = 171,
  UBLOCK_SAMARITAN = 172,
  UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173,
  UBLOCK_TAI_THAM = 174,
  UBLOCK_VEDIC_EXTENSIONS = 175,
  UBLOCK_LISU = 176,
  UBLOCK_BAMUM = 177,
  UBLOCK_COMMON_INDIC_NUMBER_FORMS = 178,
  UBLOCK_DEVANAGARI_EXTENDED = 179,
  UBLOCK_HANGUL_JAMO_EXTENDED_A = 180,
  UBLOCK_JAVANESE = 181,
  UBLOCK_MYANMAR_EXTENDED_A = 182,
  UBLOCK_TAI_VIET = 183,
  UBLOCK_MEETEI_MAYEK = 184,
  UBLOCK_HANGUL_JAMO_EXTENDED_B = 185,
  UBLOCK_IMPERIAL_ARAMAIC = 186,
  UBLOCK_OLD_SOUTH_ARABIAN = 187,
  UBLOCK_AVESTAN = 188,
  UBLOCK_INSCRIPTIONAL_PARTHIAN = 189,
  UBLOCK_INSCRIPTIONAL_PAHLAVI = 190,
  UBLOCK_OLD_TURKIC = 191,
  UBLOCK_RUMI_NUMERAL_SYMBOLS = 192,
  UBLOCK_KAITHI = 193,
  UBLOCK_EGYPTIAN_HIEROGLYPHS = 194,
  UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195,
  UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196,
  UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197,
  UBLOCK_MANDAIC = 198,
  UBLOCK_BATAK = 199,
  UBLOCK_ETHIOPIC_EXTENDED_A = 200,
  UBLOCK_BRAHMI = 201,
  UBLOCK_BAMUM_SUPPLEMENT = 202,
  UBLOCK_KANA_SUPPLEMENT = 203,
  UBLOCK_PLAYING_CARDS = 204,
  UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205,
  UBLOCK_EMOTICONS = 206,
  UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = 207,
  UBLOCK_ALCHEMICAL_SYMBOLS = 208,
  UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209,
  UBLOCK_ARABIC_EXTENDED_A = 210,
  UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211,
  UBLOCK_CHAKMA = 212,
  UBLOCK_MEETEI_MAYEK_EXTENSIONS = 213,
  UBLOCK_MEROITIC_CURSIVE = 214,
  UBLOCK_MEROITIC_HIEROGLYPHS = 215,
  UBLOCK_MIAO = 216,
  UBLOCK_SHARADA = 217,
  UBLOCK_SORA_SOMPENG = 218,
  UBLOCK_SUNDANESE_SUPPLEMENT = 219,
  UBLOCK_TAKRI = 220,
  UBLOCK_BASSA_VAH = 221,
  UBLOCK_CAUCASIAN_ALBANIAN = 222,
  UBLOCK_COPTIC_EPACT_NUMBERS = 223,
  UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224,
  UBLOCK_DUPLOYAN = 225,
  UBLOCK_ELBASAN = 226,
  UBLOCK_GEOMETRIC_SHAPES_EXTENDED = 227,
  UBLOCK_GRANTHA = 228,
  UBLOCK_KHOJKI = 229,
  UBLOCK_KHUDAWADI = 230,
  UBLOCK_LATIN_EXTENDED_E = 231,
  UBLOCK_LINEAR_A = 232,
  UBLOCK_MAHAJANI = 233,
  UBLOCK_MANICHAEAN = 234,
  UBLOCK_MENDE_KIKAKUI = 235,
  UBLOCK_MODI = 236,
  UBLOCK_MRO = 237,
  UBLOCK_MYANMAR_EXTENDED_B = 238,
  UBLOCK_NABATAEAN = 239,
  UBLOCK_OLD_NORTH_ARABIAN = 240,
  UBLOCK_OLD_PERMIC = 241,
  UBLOCK_ORNAMENTAL_DINGBATS = 242,
  UBLOCK_PAHAWH_HMONG = 243,
  UBLOCK_PALMYRENE = 244,
  UBLOCK_PAU_CIN_HAU = 245,
  UBLOCK_PSALTER_PAHLAVI = 246,
  UBLOCK_SHORTHAND_FORMAT_CONTROLS = 247,
  UBLOCK_SIDDHAM = 248,
  UBLOCK_SINHALA_ARCHAIC_NUMBERS = 249,
  UBLOCK_SUPPLEMENTAL_ARROWS_C = 250,
  UBLOCK_TIRHUTA = 251,
  UBLOCK_WARANG_CITI = 252,
  UBLOCK_AHOM = 253,
  UBLOCK_ANATOLIAN_HIEROGLYPHS = 254,
  UBLOCK_CHEROKEE_SUPPLEMENT = 255,
  UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 256,
  UBLOCK_EARLY_DYNASTIC_CUNEIFORM = 257,
  UBLOCK_HATRAN = 258,
  UBLOCK_MULTANI = 259,
  UBLOCK_OLD_HUNGARIAN = 260,
  UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 261,
  UBLOCK_SUTTON_SIGNWRITING = 262,
  UBLOCK_ADLAM = 263,
  UBLOCK_BHAIKSUKI = 264,
  UBLOCK_CYRILLIC_EXTENDED_C = 265,
  UBLOCK_GLAGOLITIC_SUPPLEMENT = 266,
  UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION = 267,
  UBLOCK_MARCHEN = 268,
  UBLOCK_MONGOLIAN_SUPPLEMENT = 269,
  UBLOCK_NEWA = 270,
  UBLOCK_OSAGE = 271,
  UBLOCK_TANGUT = 272,
  UBLOCK_TANGUT_COMPONENTS = 273,
  UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F = 274,
  UBLOCK_KANA_EXTENDED_A = 275,
  UBLOCK_MASARAM_GONDI = 276,
  UBLOCK_NUSHU = 277,
  UBLOCK_SOYOMBO = 278,
  UBLOCK_SYRIAC_SUPPLEMENT = 279,
  UBLOCK_ZANABAZAR_SQUARE = 280,
  UBLOCK_CHESS_SYMBOLS = 281,
  UBLOCK_DOGRA = 282,
  UBLOCK_GEORGIAN_EXTENDED = 283,
  UBLOCK_GUNJALA_GONDI = 284,
  UBLOCK_HANIFI_ROHINGYA = 285,
  UBLOCK_INDIC_SIYAQ_NUMBERS = 286,
  UBLOCK_MAKASAR = 287,
  UBLOCK_MAYAN_NUMERALS = 288,
  UBLOCK_MEDEFAIDRIN = 289,
  UBLOCK_OLD_SOGDIAN = 290,
  UBLOCK_SOGDIAN = 291,
  UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS = 292,
  UBLOCK_ELYMAIC = 293,
  UBLOCK_NANDINAGARI = 294,
  UBLOCK_NYIAKENG_PUACHUE_HMONG = 295,
  UBLOCK_OTTOMAN_SIYAQ_NUMBERS = 296,
  UBLOCK_SMALL_KANA_EXTENSION = 297,
  UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A = 298,
  UBLOCK_TAMIL_SUPPLEMENT = 299,
  UBLOCK_WANCHO = 300,
  UBLOCK_CHORASMIAN = 301,
  UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G = 302,
  UBLOCK_DIVES_AKURU = 303,
  UBLOCK_KHITAN_SMALL_SCRIPT = 304,
  UBLOCK_LISU_SUPPLEMENT = 305,
  UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING = 306,
  UBLOCK_TANGUT_SUPPLEMENT = 307,
  UBLOCK_YEZIDI = 308,
  UBLOCK_ARABIC_EXTENDED_B = 309,
  UBLOCK_CYPRO_MINOAN = 310,
  UBLOCK_ETHIOPIC_EXTENDED_B = 311,
  UBLOCK_KANA_EXTENDED_B = 312,
  UBLOCK_LATIN_EXTENDED_F = 313,
  UBLOCK_LATIN_EXTENDED_G = 314,
  UBLOCK_OLD_UYGHUR = 315,
  UBLOCK_TANGSA = 316,
  UBLOCK_TOTO = 317,
  UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A = 318,
  UBLOCK_VITHKUQI = 319,
  UBLOCK_ZNAMENNY_MUSICAL_NOTATION = 320,
  UBLOCK_ARABIC_EXTENDED_C = 321,
  UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H = 322,
  UBLOCK_CYRILLIC_EXTENDED_D = 323,
  UBLOCK_DEVANAGARI_EXTENDED_A = 324,
  UBLOCK_KAKTOVIK_NUMERALS = 325,
  UBLOCK_KAWI = 326,
  UBLOCK_NAG_MUNDARI = 327,
  UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_I = 328,
  UBLOCK_EGYPTIAN_HIEROGLYPHS_EXTENDED_A = 329,
  UBLOCK_GARAY = 330,
  UBLOCK_GURUNG_KHEMA = 331,
  UBLOCK_KIRAT_RAI = 332,
  UBLOCK_MYANMAR_EXTENDED_C = 333,
  UBLOCK_OL_ONAL = 334,
  UBLOCK_SUNUWAR = 335,
  UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT = 336,
  UBLOCK_TODHRI = 337,
  UBLOCK_TULU_TIGALARI = 338,
  UBLOCK_COUNT = 339,
  UBLOCK_INVALID_CODE =-1
}
enum
Unicode 区块常量,请参阅 Unicode 数据文件 Blocks.txt。
UBreakIteratorType{
  UBRK_CHARACTER = 0,
  UBRK_WORD = 1,
  UBRK_LINE = 2,
  UBRK_SENTENCE = 3,
  UBRK_TITLE = 4,
  UBRK_COUNT = 5
}
enum
文本边界的可能类型。
UCPMapRangeOption{
  UCPMAP_RANGE_NORMAL,
  UCPMAP_RANGE_FIXED_LEAD_SURROGATES,
  UCPMAP_RANGE_FIXED_ALL_SURROGATES
}
enum
用于控制 ucpmap_getRange() 等函数行为的选择器。
UCharCategory{
  U_UNASSIGNED = 0,
  U_GENERAL_OTHER_TYPES = 0,
  U_UPPERCASE_LETTER = 1,
  U_LOWERCASE_LETTER = 2,
  U_TITLECASE_LETTER = 3,
  U_MODIFIER_LETTER = 4,
  U_OTHER_LETTER = 5,
  U_NON_SPACING_MARK = 6,
  U_ENCLOSING_MARK = 7,
  U_COMBINING_SPACING_MARK = 8,
  U_DECIMAL_DIGIT_NUMBER = 9,
  U_LETTER_NUMBER = 10,
  U_OTHER_NUMBER = 11,
  U_SPACE_SEPARATOR = 12,
  U_LINE_SEPARATOR = 13,
  U_PARAGRAPH_SEPARATOR = 14,
  U_CONTROL_CHAR = 15,
  U_FORMAT_CHAR = 16,
  U_PRIVATE_USE_CHAR = 17,
  U_SURROGATE = 18,
  U_DASH_PUNCTUATION = 19,
  U_START_PUNCTUATION = 20,
  U_END_PUNCTUATION = 21,
  U_CONNECTOR_PUNCTUATION = 22,
  U_OTHER_PUNCTUATION = 23,
  U_MATH_SYMBOL = 24,
  U_CURRENCY_SYMBOL = 25,
  U_MODIFIER_SYMBOL = 26,
  U_OTHER_SYMBOL = 27,
  U_INITIAL_PUNCTUATION = 28,
  U_FINAL_PUNCTUATION = 29,
  U_CHAR_CATEGORY_COUNT
}
enum
枚举的 Unicode 通用类别类型的数据。
UCharDirection{
  U_LEFT_TO_RIGHT = 0,
  U_RIGHT_TO_LEFT = 1,
  U_EUROPEAN_NUMBER = 2,
  U_EUROPEAN_NUMBER_SEPARATOR = 3,
  U_EUROPEAN_NUMBER_TERMINATOR = 4,
  U_ARABIC_NUMBER = 5,
  U_COMMON_NUMBER_SEPARATOR = 6,
  U_BLOCK_SEPARATOR = 7,
  U_SEGMENT_SEPARATOR = 8,
  U_WHITE_SPACE_NEUTRAL = 9,
  U_OTHER_NEUTRAL = 10,
  U_LEFT_TO_RIGHT_EMBEDDING = 11,
  U_LEFT_TO_RIGHT_OVERRIDE = 12,
  U_RIGHT_TO_LEFT_ARABIC = 13,
  U_RIGHT_TO_LEFT_EMBEDDING = 14,
  U_RIGHT_TO_LEFT_OVERRIDE = 15,
  U_POP_DIRECTIONAL_FORMAT = 16,
  U_DIR_NON_SPACING_MARK = 17,
  U_BOUNDARY_NEUTRAL = 18,
  U_FIRST_STRONG_ISOLATE = 19,
  U_LEFT_TO_RIGHT_ISOLATE = 20,
  U_RIGHT_TO_LEFT_ISOLATE = 21,
  U_POP_DIRECTIONAL_ISOLATE = 22,
  U_CHAR_DIRECTION_COUNT
}
enum
这指定了字符集的语言方向属性。
UCharNameChoice{
  U_UNICODE_CHAR_NAME,
  U_UNICODE_10_CHAR_NAME,
  U_EXTENDED_CHAR_NAME = U_UNICODE_CHAR_NAME+2,
  U_CHAR_NAME_ALIAS,
  U_CHAR_NAME_CHOICE_COUNT
}
enum
u_charName() 函数的选择器常量。
UColAttribute{
  UCOL_FRENCH_COLLATION,
  UCOL_ALTERNATE_HANDLING,
  UCOL_CASE_FIRST,
  UCOL_CASE_LEVEL,
  UCOL_NORMALIZATION_MODE,
  UCOL_DECOMPOSITION_MODE = UCOL_NORMALIZATION_MODE,
  UCOL_STRENGTH,
  UCOL_HIRAGANA_QUATERNARY_MODE = UCOL_STRENGTH + 1,
  UCOL_NUMERIC_COLLATION = UCOL_STRENGTH + 2,
  UCOL_ATTRIBUTE_COUNT
}
enum
排序服务理解的属性。
UColAttributeValue{
  UCOL_DEFAULT = -1,
  UCOL_PRIMARY = 0,
  UCOL_SECONDARY = 1,
  UCOL_TERTIARY = 2,
  UCOL_DEFAULT_STRENGTH = UCOL_TERTIARY,
  UCOL_CE_STRENGTH_LIMIT,
  UCOL_QUATERNARY =3,
  UCOL_IDENTICAL =15,
  UCOL_STRENGTH_LIMIT,
  UCOL_OFF = 16,
  UCOL_ON = 17,
  UCOL_SHIFTED = 20,
  UCOL_NON_IGNORABLE = 21,
  UCOL_LOWER_FIRST = 24,
  UCOL_UPPER_FIRST = 25,
  UCOL_ATTRIBUTE_VALUE_COUNT
}
enum
包含用于控制排序行为的属性值的枚举。
UColBoundMode{
  UCOL_BOUND_LOWER = 0,
  UCOL_BOUND_UPPER = 1,
  UCOL_BOUND_UPPER_LONG = 2,
  UCOL_BOUND_VALUE_COUNT
}
enum
由 ucol_getBound API 接受的枚举。请参阅下方解释,请勿更改此枚举成员分配的值。
UColReorderCode{
  UCOL_REORDER_CODE_DEFAULT = -1,
  UCOL_REORDER_CODE_NONE = USCRIPT_UNKNOWN,
  UCOL_REORDER_CODE_OTHERS = USCRIPT_UNKNOWN,
  UCOL_REORDER_CODE_SPACE = 0x1000,
  UCOL_REORDER_CODE_FIRST = UCOL_REORDER_CODE_SPACE,
  UCOL_REORDER_CODE_PUNCTUATION = 0x1001,
  UCOL_REORDER_CODE_SYMBOL = 0x1002,
  UCOL_REORDER_CODE_CURRENCY = 0x1003,
  UCOL_REORDER_CODE_DIGIT = 0x1004,
  UCOL_REORDER_CODE_LIMIT = 0x1005
}
enum
包含用于重新排序排序表段(非脚本代码)的代码的枚举。
UCollationResult{
  UCOL_EQUAL = 0,
  UCOL_GREATER = 1,
  UCOL_LESS = -1
}
enum
如果在 ucol_strcoll() 方法中源字符串被比较为小于目标字符串,则返回 UCOL_LESS。
UDecompositionType{
  U_DT_NONE,
  U_DT_CANONICAL,
  U_DT_COMPAT,
  U_DT_CIRCLE,
  U_DT_FINAL,
  U_DT_FONT,
  U_DT_FRACTION,
  U_DT_INITIAL,
  U_DT_ISOLATED,
  U_DT_MEDIAL,
  U_DT_NARROW,
  U_DT_NOBREAK,
  U_DT_SMALL,
  U_DT_SQUARE,
  U_DT_SUB,
  U_DT_SUPER,
  U_DT_VERTICAL,
  U_DT_WIDE,
  U_DT_COUNT
}
enum
分解类型常量。
UDialectHandling{
  ULDN_STANDARD_NAMES = 0,
  ULDN_DIALECT_NAMES
}
enum
LocaleDisplayNames::createInstance 中使用的枚举。
UDisplayContext{
  UDISPCTX_STANDARD_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 0,
  UDISPCTX_DIALECT_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 1,
  UDISPCTX_CAPITALIZATION_NONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 0,
  UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 1,
  UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 2,
  UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 3,
  UDISPCTX_CAPITALIZATION_FOR_STANDALONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 4,
  UDISPCTX_LENGTH_FULL = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 0,
  UDISPCTX_LENGTH_SHORT = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 1,
  UDISPCTX_SUBSTITUTE = (UDISPCTX_TYPE_SUBSTITUTE_HANDLING<<8) + 0,
  UDISPCTX_NO_SUBSTITUTE = (UDISPCTX_TYPE_SUBSTITUTE_HANDLING<<8) + 1
}
enum
显示上下文设置。
UDisplayContextType{
  UDISPCTX_TYPE_DIALECT_HANDLING = 0,
  UDISPCTX_TYPE_CAPITALIZATION = 1,
  UDISPCTX_TYPE_DISPLAY_LENGTH = 2,
  UDISPCTX_TYPE_SUBSTITUTE_HANDLING = 3
}
enum
显示上下文类型,用于获取特定设置的值。
UEastAsianWidth{
  U_EA_NEUTRAL,
  U_EA_AMBIGUOUS,
  U_EA_HALFWIDTH,
  U_EA_FULLWIDTH,
  U_EA_NARROW,
  U_EA_WIDE,
  U_EA_COUNT
}
enum
东亚宽度常量。
UErrorCode{
  U_USING_FALLBACK_WARNING = -128,
  U_ERROR_WARNING_START = -128,
  U_USING_DEFAULT_WARNING = -127,
  U_SAFECLONE_ALLOCATED_WARNING = -126,
  U_STATE_OLD_WARNING = -125,
  U_STRING_NOT_TERMINATED_WARNING = -124,
  U_SORT_KEY_TOO_SHORT_WARNING = -123,
  U_AMBIGUOUS_ALIAS_WARNING = -122,
  U_DIFFERENT_UCA_VERSION = -121,
  U_PLUGIN_CHANGED_LEVEL_WARNING = -120,
  U_ERROR_WARNING_LIMIT,
  U_ZERO_ERROR = 0,
  U_ILLEGAL_ARGUMENT_ERROR = 1,
  U_MISSING_RESOURCE_ERROR = 2,
  U_INVALID_FORMAT_ERROR = 3,
  U_FILE_ACCESS_ERROR = 4,
  U_INTERNAL_PROGRAM_ERROR = 5,
  U_MESSAGE_PARSE_ERROR = 6,
  U_MEMORY_ALLOCATION_ERROR = 7,
  U_INDEX_OUTOFBOUNDS_ERROR = 8,
  U_PARSE_ERROR = 9,
  U_INVALID_CHAR_FOUND = 10,
  U_TRUNCATED_CHAR_FOUND = 11,
  U_ILLEGAL_CHAR_FOUND = 12,
  U_INVALID_TABLE_FORMAT = 13,
  U_INVALID_TABLE_FILE = 14,
  U_BUFFER_OVERFLOW_ERROR = 15,
  U_UNSUPPORTED_ERROR = 16,
  U_RESOURCE_TYPE_MISMATCH = 17,
  U_ILLEGAL_ESCAPE_SEQUENCE = 18,
  U_UNSUPPORTED_ESCAPE_SEQUENCE = 19,
  U_NO_SPACE_AVAILABLE = 20,
  U_CE_NOT_FOUND_ERROR = 21,
  U_PRIMARY_TOO_LONG_ERROR = 22,
  U_STATE_TOO_OLD_ERROR = 23,
  U_TOO_MANY_ALIASES_ERROR = 24,
  U_ENUM_OUT_OF_SYNC_ERROR = 25,
  U_INVARIANT_CONVERSION_ERROR = 26,
  U_INVALID_STATE_ERROR = 27,
  U_COLLATOR_VERSION_MISMATCH = 28,
  U_USELESS_COLLATOR_ERROR = 29,
  U_NO_WRITE_PERMISSION = 30,
  U_INPUT_TOO_LONG_ERROR = 31,
  U_STANDARD_ERROR_LIMIT = 32,
  U_BAD_VARIABLE_DEFINITION =0x10000,
  U_PARSE_ERROR_START = 0x10000,
  U_MALFORMED_RULE,
  U_MALFORMED_SET,
  U_MALFORMED_SYMBOL_REFERENCE,
  U_MALFORMED_UNICODE_ESCAPE,
  U_MALFORMED_VARIABLE_DEFINITION,
  U_MALFORMED_VARIABLE_REFERENCE,
  U_MISMATCHED_SEGMENT_DELIMITERS,
  U_MISPLACED_ANCHOR_START,
  U_MISPLACED_CURSOR_OFFSET,
  U_MISPLACED_QUANTIFIER,
  U_MISSING_OPERATOR,
  U_MISSING_SEGMENT_CLOSE,
  U_MULTIPLE_ANTE_CONTEXTS,
  U_MULTIPLE_CURSORS,
  U_MULTIPLE_POST_CONTEXTS,
  U_TRAILING_BACKSLASH,
  U_UNDEFINED_SEGMENT_REFERENCE,
  U_UNDEFINED_VARIABLE,
  U_UNQUOTED_SPECIAL,
  U_UNTERMINATED_QUOTE,
  U_RULE_MASK_ERROR,
  U_MISPLACED_COMPOUND_FILTER,
  U_MULTIPLE_COMPOUND_FILTERS,
  U_INVALID_RBT_SYNTAX,
  U_INVALID_PROPERTY_PATTERN,
  U_MALFORMED_PRAGMA,
  U_UNCLOSED_SEGMENT,
  U_ILLEGAL_CHAR_IN_SEGMENT,
  U_VARIABLE_RANGE_EXHAUSTED,
  U_VARIABLE_RANGE_OVERLAP,
  U_ILLEGAL_CHARACTER,
  U_INTERNAL_TRANSLITERATOR_ERROR,
  U_INVALID_ID,
  U_INVALID_FUNCTION,
  U_PARSE_ERROR_LIMIT,
  U_UNEXPECTED_TOKEN =0x10100,
  U_FMT_PARSE_ERROR_START =0x10100,
  U_MULTIPLE_DECIMAL_SEPARATORS,
  U_MULTIPLE_DECIMAL_SEPERATORS = U_MULTIPLE_DECIMAL_SEPARATORS,
  U_MULTIPLE_EXPONENTIAL_SYMBOLS,
  U_MALFORMED_EXPONENTIAL_PATTERN,
  U_MULTIPLE_PERCENT_SYMBOLS,
  U_MULTIPLE_PERMILL_SYMBOLS,
  U_MULTIPLE_PAD_SPECIFIERS,
  U_PATTERN_SYNTAX_ERROR,
  U_ILLEGAL_PAD_POSITION,
  U_UNMATCHED_BRACES,
  U_UNSUPPORTED_PROPERTY,
  U_UNSUPPORTED_ATTRIBUTE,
  U_ARGUMENT_TYPE_MISMATCH,
  U_DUPLICATE_KEYWORD,
  U_UNDEFINED_KEYWORD,
  U_DEFAULT_KEYWORD_MISSING,
  U_DECIMAL_NUMBER_SYNTAX_ERROR,
  U_FORMAT_INEXACT_ERROR,
  U_NUMBER_ARG_OUTOFBOUNDS_ERROR,
  U_NUMBER_SKELETON_SYNTAX_ERROR,
  U_MF_UNRESOLVED_VARIABLE_ERROR,
  U_MF_SYNTAX_ERROR,
  U_MF_UNKNOWN_FUNCTION_ERROR,
  U_MF_VARIANT_KEY_MISMATCH_ERROR,
  U_MF_FORMATTING_ERROR,
  U_MF_NONEXHAUSTIVE_PATTERN_ERROR,
  U_MF_DUPLICATE_OPTION_NAME_ERROR,
  U_MF_SELECTOR_ERROR,
  U_MF_MISSING_SELECTOR_ANNOTATION_ERROR,
  U_MF_DUPLICATE_DECLARATION_ERROR,
  U_MF_OPERAND_MISMATCH_ERROR,
  U_MF_DUPLICATE_VARIANT_ERROR,
  U_FMT_PARSE_ERROR_LIMIT = 0x10120,
  U_BRK_INTERNAL_ERROR =0x10200,
  U_BRK_ERROR_START =0x10200,
  U_BRK_HEX_DIGITS_EXPECTED,
  U_BRK_SEMICOLON_EXPECTED,
  U_BRK_RULE_SYNTAX,
  U_BRK_UNCLOSED_SET,
  U_BRK_ASSIGN_ERROR,
  U_BRK_VARIABLE_REDFINITION,
  U_BRK_MISMATCHED_PAREN,
  U_BRK_NEW_LINE_IN_QUOTED_STRING,
  U_BRK_UNDEFINED_VARIABLE,
  U_BRK_INIT_ERROR,
  U_BRK_RULE_EMPTY_SET,
  U_BRK_UNRECOGNIZED_OPTION,
  U_BRK_MALFORMED_RULE_TAG,
  U_BRK_ERROR_LIMIT,
  U_REGEX_INTERNAL_ERROR =0x10300,
  U_REGEX_ERROR_START =0x10300,
  U_REGEX_RULE_SYNTAX,
  U_REGEX_INVALID_STATE,
  U_REGEX_BAD_ESCAPE_SEQUENCE,
  U_REGEX_PROPERTY_SYNTAX,
  U_REGEX_UNIMPLEMENTED,
  U_REGEX_MISMATCHED_PAREN,
  U_REGEX_NUMBER_TOO_BIG,
  U_REGEX_BAD_INTERVAL,
  U_REGEX_MAX_LT_MIN,
  U_REGEX_INVALID_BACK_REF,
  U_REGEX_INVALID_FLAG,
  U_REGEX_LOOK_BEHIND_LIMIT,
  U_REGEX_SET_CONTAINS_STRING,
  U_REGEX_OCTAL_TOO_BIG,
  U_REGEX_MISSING_CLOSE_BRACKET =U_REGEX_SET_CONTAINS_STRING+2,
  U_REGEX_INVALID_RANGE,
  U_REGEX_STACK_OVERFLOW,
  U_REGEX_TIME_OUT,
  U_REGEX_STOPPED_BY_CALLER,
  U_REGEX_PATTERN_TOO_BIG,
  U_REGEX_INVALID_CAPTURE_GROUP_NAME,
  U_REGEX_ERROR_LIMIT =U_REGEX_STOPPED_BY_CALLER+3,
  U_IDNA_PROHIBITED_ERROR =0x10400,
  U_IDNA_ERROR_START =0x10400,
  U_IDNA_UNASSIGNED_ERROR,
  U_IDNA_CHECK_BIDI_ERROR,
  U_IDNA_STD3_ASCII_RULES_ERROR,
  U_IDNA_ACE_PREFIX_ERROR,
  U_IDNA_VERIFICATION_ERROR,
  U_IDNA_LABEL_TOO_LONG_ERROR,
  U_IDNA_ZERO_LENGTH_LABEL_ERROR,
  U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR,
  U_IDNA_ERROR_LIMIT,
  U_STRINGPREP_PROHIBITED_ERROR = U_IDNA_PROHIBITED_ERROR,
  U_STRINGPREP_UNASSIGNED_ERROR = U_IDNA_UNASSIGNED_ERROR,
  U_STRINGPREP_CHECK_BIDI_ERROR = U_IDNA_CHECK_BIDI_ERROR,
  U_PLUGIN_ERROR_START =0x10500,
  U_PLUGIN_TOO_HIGH =0x10500,
  U_PLUGIN_DIDNT_SET_LEVEL,
  U_PLUGIN_ERROR_LIMIT,
  U_ERROR_LIMIT =U_PLUGIN_ERROR_LIMIT
}
enum
标准 ICU4C 错误代码类型,用于替代异常。
UGraphemeClusterBreak{
  U_GCB_OTHER = 0,
  U_GCB_CONTROL = 1,
  U_GCB_CR = 2,
  U_GCB_EXTEND = 3,
  U_GCB_L = 4,
  U_GCB_LF = 5,
  U_GCB_LV = 6,
  U_GCB_LVT = 7,
  U_GCB_T = 8,
  U_GCB_V = 9,
  U_GCB_SPACING_MARK = 10,
  U_GCB_PREPEND = 11,
  U_GCB_REGIONAL_INDICATOR = 12,
  U_GCB_E_BASE = 13,
  U_GCB_E_BASE_GAZ = 14,
  U_GCB_E_MODIFIER = 15,
  U_GCB_GLUE_AFTER_ZWJ = 16,
  U_GCB_ZWJ = 17,
  U_GCB_COUNT = 18
}
enum
字形簇边界常量。
UHangulSyllableType{
  U_HST_NOT_APPLICABLE,
  U_HST_LEADING_JAMO,
  U_HST_VOWEL_JAMO,
  U_HST_TRAILING_JAMO,
  U_HST_LV_SYLLABLE,
  U_HST_LVT_SYLLABLE,
  U_HST_COUNT
}
enum
韩语音节类型常量。
UIdentifierStatus{
  U_ID_STATUS_RESTRICTED,
  U_ID_STATUS_ALLOWED
}
enum
标识符状态常量。
UIdentifierType{
  U_ID_TYPE_NOT_CHARACTER,
  U_ID_TYPE_DEPRECATED,
  U_ID_TYPE_DEFAULT_IGNORABLE,
  U_ID_TYPE_NOT_NFKC,
  U_ID_TYPE_NOT_XID,
  U_ID_TYPE_EXCLUSION,
  U_ID_TYPE_OBSOLETE,
  U_ID_TYPE_TECHNICAL,
  U_ID_TYPE_UNCOMMON_USE,
  U_ID_TYPE_LIMITED_USE,
  U_ID_TYPE_INCLUSION,
  U_ID_TYPE_RECOMMENDED
}
enum
标识符类型常量。
UIndicConjunctBreak{
  U_INCB_NONE,
  U_INCB_CONSONANT,
  U_INCB_EXTEND,
  U_INCB_LINKER
}
enum
印度语连字边界常量。
UIndicPositionalCategory{
  U_INPC_NA,
  U_INPC_BOTTOM,
  U_INPC_BOTTOM_AND_LEFT,
  U_INPC_BOTTOM_AND_RIGHT,
  U_INPC_LEFT,
  U_INPC_LEFT_AND_RIGHT,
  U_INPC_OVERSTRUCK,
  U_INPC_RIGHT,
  U_INPC_TOP,
  U_INPC_TOP_AND_BOTTOM,
  U_INPC_TOP_AND_BOTTOM_AND_RIGHT,
  U_INPC_TOP_AND_LEFT,
  U_INPC_TOP_AND_LEFT_AND_RIGHT,
  U_INPC_TOP_AND_RIGHT,
  U_INPC_VISUAL_ORDER_LEFT,
  U_INPC_TOP_AND_BOTTOM_AND_LEFT
}
enum
印度语位置类别常量。
UIndicSyllabicCategory{
  U_INSC_OTHER,
  U_INSC_AVAGRAHA,
  U_INSC_BINDU,
  U_INSC_BRAHMI_JOINING_NUMBER,
  U_INSC_CANTILLATION_MARK,
  U_INSC_CONSONANT,
  U_INSC_CONSONANT_DEAD,
  U_INSC_CONSONANT_FINAL,
  U_INSC_CONSONANT_HEAD_LETTER,
  U_INSC_CONSONANT_INITIAL_POSTFIXED,
  U_INSC_CONSONANT_KILLER,
  U_INSC_CONSONANT_MEDIAL,
  U_INSC_CONSONANT_PLACEHOLDER,
  U_INSC_CONSONANT_PRECEDING_REPHA,
  U_INSC_CONSONANT_PREFIXED,
  U_INSC_CONSONANT_SUBJOINED,
  U_INSC_CONSONANT_SUCCEEDING_REPHA,
  U_INSC_CONSONANT_WITH_STACKER,
  U_INSC_GEMINATION_MARK,
  U_INSC_INVISIBLE_STACKER,
  U_INSC_JOINER,
  U_INSC_MODIFYING_LETTER,
  U_INSC_NON_JOINER,
  U_INSC_NUKTA,
  U_INSC_NUMBER,
  U_INSC_NUMBER_JOINER,
  U_INSC_PURE_KILLER,
  U_INSC_REGISTER_SHIFTER,
  U_INSC_SYLLABLE_MODIFIER,
  U_INSC_TONE_LETTER,
  U_INSC_TONE_MARK,
  U_INSC_VIRAMA,
  U_INSC_VISARGA,
  U_INSC_VOWEL,
  U_INSC_VOWEL_DEPENDENT,
  U_INSC_VOWEL_INDEPENDENT,
  U_INSC_REORDERING_KILLER
}
enum
印度语音节类别常量。
UJoiningGroup{
  U_JG_NO_JOINING_GROUP,
  U_JG_AIN,
  U_JG_ALAPH,
  U_JG_ALEF,
  U_JG_BEH,
  U_JG_BETH,
  U_JG_DAL,
  U_JG_DALATH_RISH,
  U_JG_E,
  U_JG_FEH,
  U_JG_FINAL_SEMKATH,
  U_JG_GAF,
  U_JG_GAMAL,
  U_JG_HAH,
  U_JG_TEH_MARBUTA_GOAL,
  U_JG_HAMZA_ON_HEH_GOAL =U_JG_TEH_MARBUTA_GOAL,
  U_JG_HE,
  U_JG_HEH,
  U_JG_HEH_GOAL,
  U_JG_HETH,
  U_JG_KAF,
  U_JG_KAPH,
  U_JG_KNOTTED_HEH,
  U_JG_LAM,
  U_JG_LAMADH,
  U_JG_MEEM,
  U_JG_MIM,
  U_JG_NOON,
  U_JG_NUN,
  U_JG_PE,
  U_JG_QAF,
  U_JG_QAPH,
  U_JG_REH,
  U_JG_REVERSED_PE,
  U_JG_SAD,
  U_JG_SADHE,
  U_JG_SEEN,
  U_JG_SEMKATH,
  U_JG_SHIN,
  U_JG_SWASH_KAF,
  U_JG_SYRIAC_WAW,
  U_JG_TAH,
  U_JG_TAW,
  U_JG_TEH_MARBUTA,
  U_JG_TETH,
  U_JG_WAW,
  U_JG_YEH,
  U_JG_YEH_BARREE,
  U_JG_YEH_WITH_TAIL,
  U_JG_YUDH,
  U_JG_YUDH_HE,
  U_JG_ZAIN,
  U_JG_FE,
  U_JG_KHAPH,
  U_JG_ZHAIN,
  U_JG_BURUSHASKI_YEH_BARREE,
  U_JG_FARSI_YEH,
  U_JG_NYA,
  U_JG_ROHINGYA_YEH,
  U_JG_MANICHAEAN_ALEPH,
  U_JG_MANICHAEAN_AYIN,
  U_JG_MANICHAEAN_BETH,
  U_JG_MANICHAEAN_DALETH,
  U_JG_MANICHAEAN_DHAMEDH,
  U_JG_MANICHAEAN_FIVE,
  U_JG_MANICHAEAN_GIMEL,
  U_JG_MANICHAEAN_HETH,
  U_JG_MANICHAEAN_HUNDRED,
  U_JG_MANICHAEAN_KAPH,
  U_JG_MANICHAEAN_LAMEDH,
  U_JG_MANICHAEAN_MEM,
  U_JG_MANICHAEAN_NUN,
  U_JG_MANICHAEAN_ONE,
  U_JG_MANICHAEAN_PE,
  U_JG_MANICHAEAN_QOPH,
  U_JG_MANICHAEAN_RESH,
  U_JG_MANICHAEAN_SADHE,
  U_JG_MANICHAEAN_SAMEKH,
  U_JG_MANICHAEAN_TAW,
  U_JG_MANICHAEAN_TEN,
  U_JG_MANICHAEAN_TETH,
  U_JG_MANICHAEAN_THAMEDH,
  U_JG_MANICHAEAN_TWENTY,
  U_JG_MANICHAEAN_WAW,
  U_JG_MANICHAEAN_YODH,
  U_JG_MANICHAEAN_ZAYIN,
  U_JG_STRAIGHT_WAW,
  U_JG_AFRICAN_FEH,
  U_JG_AFRICAN_NOON,
  U_JG_AFRICAN_QAF,
  U_JG_MALAYALAM_BHA,
  U_JG_MALAYALAM_JA,
  U_JG_MALAYALAM_LLA,
  U_JG_MALAYALAM_LLLA,
  U_JG_MALAYALAM_NGA,
  U_JG_MALAYALAM_NNA,
  U_JG_MALAYALAM_NNNA,
  U_JG_MALAYALAM_NYA,
  U_JG_MALAYALAM_RA,
  U_JG_MALAYALAM_SSA,
  U_JG_MALAYALAM_TTA,
  U_JG_HANIFI_ROHINGYA_KINNA_YA,
  U_JG_HANIFI_ROHINGYA_PA,
  U_JG_THIN_YEH,
  U_JG_VERTICAL_TAIL,
  U_JG_KASHMIRI_YEH,
  U_JG_COUNT
}
enum
连接组常量。
UJoiningType{
  U_JT_NON_JOINING,
  U_JT_JOIN_CAUSING,
  U_JT_DUAL_JOINING,
  U_JT_LEFT_JOINING,
  U_JT_RIGHT_JOINING,
  U_JT_TRANSPARENT,
  U_JT_COUNT
}
enum
连接类型常量。
ULayoutType{
  ULOC_LAYOUT_LTR = 0,
  ULOC_LAYOUT_RTL = 1,
  ULOC_LAYOUT_TTB = 2,
  ULOC_LAYOUT_BTT = 3,
  ULOC_LAYOUT_UNKNOWN
}
enum
用于字符和行方向函数返回值的枚举。
ULineBreak{
  U_LB_UNKNOWN = 0,
  U_LB_AMBIGUOUS = 1,
  U_LB_ALPHABETIC = 2,
  U_LB_BREAK_BOTH = 3,
  U_LB_BREAK_AFTER = 4,
  U_LB_BREAK_BEFORE = 5,
  U_LB_MANDATORY_BREAK = 6,
  U_LB_CONTINGENT_BREAK = 7,
  U_LB_CLOSE_PUNCTUATION = 8,
  U_LB_COMBINING_MARK = 9,
  U_LB_CARRIAGE_RETURN = 10,
  U_LB_EXCLAMATION = 11,
  U_LB_GLUE = 12,
  U_LB_HYPHEN = 13,
  U_LB_IDEOGRAPHIC = 14,
  U_LB_INSEPARABLE = 15,
  U_LB_INSEPERABLE = U_LB_INSEPARABLE,
  U_LB_INFIX_NUMERIC = 16,
  U_LB_LINE_FEED = 17,
  U_LB_NONSTARTER = 18,
  U_LB_NUMERIC = 19,
  U_LB_OPEN_PUNCTUATION = 20,
  U_LB_POSTFIX_NUMERIC = 21,
  U_LB_PREFIX_NUMERIC = 22,
  U_LB_QUOTATION = 23,
  U_LB_COMPLEX_CONTEXT = 24,
  U_LB_SURROGATE = 25,
  U_LB_SPACE = 26,
  U_LB_BREAK_SYMBOLS = 27,
  U_LB_ZWSPACE = 28,
  U_LB_NEXT_LINE = 29,
  U_LB_WORD_JOINER = 30,
  U_LB_H2 = 31,
  U_LB_H3 = 32,
  U_LB_JL = 33,
  U_LB_JT = 34,
  U_LB_JV = 35,
  U_LB_CLOSE_PARENTHESIS = 36,
  U_LB_CONDITIONAL_JAPANESE_STARTER = 37,
  U_LB_HEBREW_LETTER = 38,
  U_LB_REGIONAL_INDICATOR = 39,
  U_LB_E_BASE = 40,
  U_LB_E_MODIFIER = 41,
  U_LB_ZWJ = 42,
  U_LB_AKSARA = 43,
  U_LB_AKSARA_PREBASE = 44,
  U_LB_AKSARA_START = 45,
  U_LB_VIRAMA_FINAL = 46,
  U_LB_VIRAMA = 47,
  U_LB_COUNT = 48
}
enum
换行符常量。
ULineBreakTag{
  UBRK_LINE_SOFT = 0,
  UBRK_LINE_SOFT_LIMIT = 100,
  UBRK_LINE_HARD = 100,
  UBRK_LINE_HARD_LIMIT = 200
}
enum
getRuleStatus() 返回的换行符标签的枚举常量。
ULocAvailableType{
  ULOC_AVAILABLE_DEFAULT,
  ULOC_AVAILABLE_ONLY_LEGACY_ALIASES,
  ULOC_AVAILABLE_WITH_LEGACY_ALIASES,
  ULOC_AVAILABLE_COUNT
}
enum
uloc_getAvailableByType 和 uloc_countAvailableByType 的类型。
ULocDataLocaleType{
  ULOC_ACTUAL_LOCALE = 0,
  ULOC_VALID_LOCALE = 1,
  ULOC_REQUESTED_LOCALE = 2,
  ULOC_DATA_LOCALE_TYPE_LIMIT = 3
}
enum
*_getLocale() 的常量,允许用户选择是获取请求的、有效的还是实际的区域设置信息。
UNormalization2Mode{
  UNORM2_COMPOSE,
  UNORM2_DECOMPOSE,
  UNORM2_FCD,
  UNORM2_COMPOSE_CONTIGUOUS
}
enum
规范化模式常量。
UNormalizationCheckResult{
  UNORM_NO,
  UNORM_YES,
  UNORM_MAYBE
}
enum
规范化快速检查函数的结果值。
UNumericType{
  U_NT_NONE,
  U_NT_DECIMAL,
  U_NT_DIGIT,
  U_NT_NUMERIC,
  U_NT_COUNT
}
enum
数字类型常量。
UProperty{
  UCHAR_ALPHABETIC =0,
  UCHAR_BINARY_START =UCHAR_ALPHABETIC,
  UCHAR_ASCII_HEX_DIGIT =1,
  UCHAR_BIDI_CONTROL =2,
  UCHAR_BIDI_MIRRORED =3,
  UCHAR_DASH =4,
  UCHAR_DEFAULT_IGNORABLE_CODE_POINT =5,
  UCHAR_DEPRECATED =6,
  UCHAR_DIACRITIC =7,
  UCHAR_EXTENDER =8,
  UCHAR_FULL_COMPOSITION_EXCLUSION =9,
  UCHAR_GRAPHEME_BASE =10,
  UCHAR_GRAPHEME_EXTEND =11,
  UCHAR_GRAPHEME_LINK =12,
  UCHAR_HEX_DIGIT =13,
  UCHAR_HYPHEN =14,
  UCHAR_ID_CONTINUE =15,
  UCHAR_ID_START =16,
  UCHAR_IDEOGRAPHIC =17,
  UCHAR_IDS_BINARY_OPERATOR =18,
  UCHAR_IDS_TRINARY_OPERATOR =19,
  UCHAR_JOIN_CONTROL =20,
  UCHAR_LOGICAL_ORDER_EXCEPTION =21,
  UCHAR_LOWERCASE =22,
  UCHAR_MATH =23,
  UCHAR_NONCHARACTER_CODE_POINT =24,
  UCHAR_QUOTATION_MARK =25,
  UCHAR_RADICAL =26,
  UCHAR_SOFT_DOTTED =27,
  UCHAR_TERMINAL_PUNCTUATION =28,
  UCHAR_UNIFIED_IDEOGRAPH =29,
  UCHAR_UPPERCASE =30,
  UCHAR_WHITE_SPACE =31,
  UCHAR_XID_CONTINUE =32,
  UCHAR_XID_START =33,
  UCHAR_CASE_SENSITIVE =34,
  UCHAR_S_TERM =35,
  UCHAR_VARIATION_SELECTOR =36,
  UCHAR_NFD_INERT =37,
  UCHAR_NFKD_INERT =38,
  UCHAR_NFC_INERT =39,
  UCHAR_NFKC_INERT =40,
  UCHAR_SEGMENT_STARTER =41,
  UCHAR_PATTERN_SYNTAX =42,
  UCHAR_PATTERN_WHITE_SPACE =43,
  UCHAR_POSIX_ALNUM =44,
  UCHAR_POSIX_BLANK =45,
  UCHAR_POSIX_GRAPH =46,
  UCHAR_POSIX_PRINT =47,
  UCHAR_POSIX_XDIGIT =48,
  UCHAR_CASED =49,
  UCHAR_CASE_IGNORABLE =50,
  UCHAR_CHANGES_WHEN_LOWERCASED =51,
  UCHAR_CHANGES_WHEN_UPPERCASED =52,
  UCHAR_CHANGES_WHEN_TITLECASED =53,
  UCHAR_CHANGES_WHEN_CASEFOLDED =54,
  UCHAR_CHANGES_WHEN_CASEMAPPED =55,
  UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED =56,
  UCHAR_EMOJI =57,
  UCHAR_EMOJI_PRESENTATION =58,
  UCHAR_EMOJI_MODIFIER =59,
  UCHAR_EMOJI_MODIFIER_BASE =60,
  UCHAR_EMOJI_COMPONENT =61,
  UCHAR_REGIONAL_INDICATOR =62,
  UCHAR_PREPENDED_CONCATENATION_MARK =63,
  UCHAR_EXTENDED_PICTOGRAPHIC =64,
  UCHAR_BASIC_EMOJI =65,
  UCHAR_EMOJI_KEYCAP_SEQUENCE =66,
  UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE =67,
  UCHAR_RGI_EMOJI_FLAG_SEQUENCE =68,
  UCHAR_RGI_EMOJI_TAG_SEQUENCE =69,
  UCHAR_RGI_EMOJI_ZWJ_SEQUENCE =70,
  UCHAR_RGI_EMOJI =71,
  UCHAR_IDS_UNARY_OPERATOR =72,
  UCHAR_ID_COMPAT_MATH_START =73,
  UCHAR_ID_COMPAT_MATH_CONTINUE =74,
  UCHAR_MODIFIER_COMBINING_MARK =75,
  UCHAR_BINARY_LIMIT =76,
  UCHAR_BIDI_CLASS =0x1000,
  UCHAR_INT_START =UCHAR_BIDI_CLASS,
  UCHAR_BLOCK =0x1001,
  UCHAR_CANONICAL_COMBINING_CLASS =0x1002,
  UCHAR_DECOMPOSITION_TYPE =0x1003,
  UCHAR_EAST_ASIAN_WIDTH =0x1004,
  UCHAR_GENERAL_CATEGORY =0x1005,
  UCHAR_JOINING_GROUP =0x1006,
  UCHAR_JOINING_TYPE =0x1007,
  UCHAR_LINE_BREAK =0x1008,
  UCHAR_NUMERIC_TYPE =0x1009,
  UCHAR_SCRIPT =0x100A,
  UCHAR_HANGUL_SYLLABLE_TYPE =0x100B,
  UCHAR_NFD_QUICK_CHECK =0x100C,
  UCHAR_NFKD_QUICK_CHECK =0x100D,
  UCHAR_NFC_QUICK_CHECK =0x100E,
  UCHAR_NFKC_QUICK_CHECK =0x100F,
  UCHAR_LEAD_CANONICAL_COMBINING_CLASS =0x1010,
  UCHAR_TRAIL_CANONICAL_COMBINING_CLASS =0x1011,
  UCHAR_GRAPHEME_CLUSTER_BREAK =0x1012,
  UCHAR_SENTENCE_BREAK =0x1013,
  UCHAR_WORD_BREAK =0x1014,
  UCHAR_BIDI_PAIRED_BRACKET_TYPE =0x1015,
  UCHAR_INDIC_POSITIONAL_CATEGORY =0x1016,
  UCHAR_INDIC_SYLLABIC_CATEGORY =0x1017,
  UCHAR_VERTICAL_ORIENTATION =0x1018,
  UCHAR_IDENTIFIER_STATUS =0x1019,
  UCHAR_INDIC_CONJUNCT_BREAK =0x101A,
  UCHAR_INT_LIMIT =0x101B,
  UCHAR_GENERAL_CATEGORY_MASK =0x2000,
  UCHAR_MASK_START =UCHAR_GENERAL_CATEGORY_MASK,
  UCHAR_MASK_LIMIT =0x2001,
  UCHAR_NUMERIC_VALUE =0x3000,
  UCHAR_DOUBLE_START =UCHAR_NUMERIC_VALUE,
  UCHAR_DOUBLE_LIMIT =0x3001,
  UCHAR_AGE =0x4000,
  UCHAR_STRING_START =UCHAR_AGE,
  UCHAR_BIDI_MIRRORING_GLYPH =0x4001,
  UCHAR_CASE_FOLDING =0x4002,
  UCHAR_ISO_COMMENT =0x4003,
  UCHAR_LOWERCASE_MAPPING =0x4004,
  UCHAR_NAME =0x4005,
  UCHAR_SIMPLE_CASE_FOLDING =0x4006,
  UCHAR_SIMPLE_LOWERCASE_MAPPING =0x4007,
  UCHAR_SIMPLE_TITLECASE_MAPPING =0x4008,
  UCHAR_SIMPLE_UPPERCASE_MAPPING =0x4009,
  UCHAR_TITLECASE_MAPPING =0x400A,
  UCHAR_UNICODE_1_NAME =0x400B,
  UCHAR_UPPERCASE_MAPPING =0x400C,
  UCHAR_BIDI_PAIRED_BRACKET =0x400D,
  UCHAR_STRING_LIMIT =0x400E,
  UCHAR_SCRIPT_EXTENSIONS =0x7000,
  UCHAR_OTHER_PROPERTY_START =UCHAR_SCRIPT_EXTENSIONS,
  UCHAR_IDENTIFIER_TYPE =0x7001,
  UCHAR_OTHER_PROPERTY_LIMIT =0x7002,
  UCHAR_INVALID_CODE = -1
}
enum
Unicode 属性的选择常量。
UPropertyNameChoice{
  U_SHORT_PROPERTY_NAME,
  U_LONG_PROPERTY_NAME,
  U_PROPERTY_NAME_CHOICE_COUNT
}
enum
u_getPropertyName()u_getPropertyValueName() 函数的选择器常量。
UScriptCode{
  USCRIPT_INVALID_CODE = -1,
  USCRIPT_COMMON = 0,
  USCRIPT_INHERITED = 1,
  USCRIPT_ARABIC = 2,
  USCRIPT_ARMENIAN = 3,
  USCRIPT_BENGALI = 4,
  USCRIPT_BOPOMOFO = 5,
  USCRIPT_CHEROKEE = 6,
  USCRIPT_COPTIC = 7,
  USCRIPT_CYRILLIC = 8,
  USCRIPT_DESERET = 9,
  USCRIPT_DEVANAGARI = 10,
  USCRIPT_ETHIOPIC = 11,
  USCRIPT_GEORGIAN = 12,
  USCRIPT_GOTHIC = 13,
  USCRIPT_GREEK = 14,
  USCRIPT_GUJARATI = 15,
  USCRIPT_GURMUKHI = 16,
  USCRIPT_HAN = 17,
  USCRIPT_HANGUL = 18,
  USCRIPT_HEBREW = 19,
  USCRIPT_HIRAGANA = 20,
  USCRIPT_KANNADA = 21,
  USCRIPT_KATAKANA = 22,
  USCRIPT_KHMER = 23,
  USCRIPT_LAO = 24,
  USCRIPT_LATIN = 25,
  USCRIPT_MALAYALAM = 26,
  USCRIPT_MONGOLIAN = 27,
  USCRIPT_MYANMAR = 28,
  USCRIPT_OGHAM = 29,
  USCRIPT_OLD_ITALIC = 30,
  USCRIPT_ORIYA = 31,
  USCRIPT_RUNIC = 32,
  USCRIPT_SINHALA = 33,
  USCRIPT_SYRIAC = 34,
  USCRIPT_TAMIL = 35,
  USCRIPT_TELUGU = 36,
  USCRIPT_THAANA = 37,
  USCRIPT_THAI = 38,
  USCRIPT_TIBETAN = 39,
  USCRIPT_CANADIAN_ABORIGINAL = 40,
  USCRIPT_UCAS = USCRIPT_CANADIAN_ABORIGINAL,
  USCRIPT_YI = 41,
  USCRIPT_TAGALOG = 42,
  USCRIPT_HANUNOO = 43,
  USCRIPT_BUHID = 44,
  USCRIPT_TAGBANWA = 45,
  USCRIPT_BRAILLE = 46,
  USCRIPT_CYPRIOT = 47,
  USCRIPT_LIMBU = 48,
  USCRIPT_LINEAR_B = 49,
  USCRIPT_OSMANYA = 50,
  USCRIPT_SHAVIAN = 51,
  USCRIPT_TAI_LE = 52,
  USCRIPT_UGARITIC = 53,
  USCRIPT_KATAKANA_OR_HIRAGANA = 54,
  USCRIPT_BUGINESE = 55,
  USCRIPT_GLAGOLITIC = 56,
  USCRIPT_KHAROSHTHI = 57,
  USCRIPT_SYLOTI_NAGRI = 58,
  USCRIPT_NEW_TAI_LUE = 59,
  USCRIPT_TIFINAGH = 60,
  USCRIPT_OLD_PERSIAN = 61,
  USCRIPT_BALINESE = 62,
  USCRIPT_BATAK = 63,
  USCRIPT_BLISSYMBOLS = 64,
  USCRIPT_BRAHMI = 65,
  USCRIPT_CHAM = 66,
  USCRIPT_CIRTH = 67,
  USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC = 68,
  USCRIPT_DEMOTIC_EGYPTIAN = 69,
  USCRIPT_HIERATIC_EGYPTIAN = 70,
  USCRIPT_EGYPTIAN_HIEROGLYPHS = 71,
  USCRIPT_KHUTSURI = 72,
  USCRIPT_SIMPLIFIED_HAN = 73,
  USCRIPT_TRADITIONAL_HAN = 74,
  USCRIPT_PAHAWH_HMONG = 75,
  USCRIPT_OLD_HUNGARIAN = 76,
  USCRIPT_HARAPPAN_INDUS = 77,
  USCRIPT_JAVANESE = 78,
  USCRIPT_KAYAH_LI = 79,
  USCRIPT_LATIN_FRAKTUR = 80,
  USCRIPT_LATIN_GAELIC = 81,
  USCRIPT_LEPCHA = 82,
  USCRIPT_LINEAR_A = 83,
  USCRIPT_MANDAIC = 84,
  USCRIPT_MANDAEAN = USCRIPT_MANDAIC,
  USCRIPT_MAYAN_HIEROGLYPHS = 85,
  USCRIPT_MEROITIC_HIEROGLYPHS = 86,
  USCRIPT_MEROITIC = USCRIPT_MEROITIC_HIEROGLYPHS,
  USCRIPT_NKO = 87,
  USCRIPT_ORKHON = 88,
  USCRIPT_OLD_PERMIC = 89,
  USCRIPT_PHAGS_PA = 90,
  USCRIPT_PHOENICIAN = 91,
  USCRIPT_MIAO = 92,
  USCRIPT_PHONETIC_POLLARD = USCRIPT_MIAO,
  USCRIPT_RONGORONGO = 93,
  USCRIPT_SARATI = 94,
  USCRIPT_ESTRANGELO_SYRIAC = 95,
  USCRIPT_WESTERN_SYRIAC = 96,
  USCRIPT_EASTERN_SYRIAC = 97,
  USCRIPT_TENGWAR = 98,
  USCRIPT_VAI = 99,
  USCRIPT_VISIBLE_SPEECH = 100,
  USCRIPT_CUNEIFORM = 101,
  USCRIPT_UNWRITTEN_LANGUAGES = 102,
  USCRIPT_UNKNOWN = 103,
  USCRIPT_CARIAN = 104,
  USCRIPT_JAPANESE = 105,
  USCRIPT_LANNA = 106,
  USCRIPT_LYCIAN = 107,
  USCRIPT_LYDIAN = 108,
  USCRIPT_OL_CHIKI = 109,
  USCRIPT_REJANG = 110,
  USCRIPT_SAURASHTRA = 111,
  USCRIPT_SIGN_WRITING = 112,
  USCRIPT_SUNDANESE = 113,
  USCRIPT_MOON = 114,
  USCRIPT_MEITEI_MAYEK = 115,
  USCRIPT_IMPERIAL_ARAMAIC = 116,
  USCRIPT_AVESTAN = 117,
  USCRIPT_CHAKMA = 118,
  USCRIPT_KOREAN = 119,
  USCRIPT_KAITHI = 120,
  USCRIPT_MANICHAEAN = 121,
  USCRIPT_INSCRIPTIONAL_PAHLAVI = 122,
  USCRIPT_PSALTER_PAHLAVI = 123,
  USCRIPT_BOOK_PAHLAVI = 124,
  USCRIPT_INSCRIPTIONAL_PARTHIAN = 125,
  USCRIPT_SAMARITAN = 126,
  USCRIPT_TAI_VIET = 127,
  USCRIPT_MATHEMATICAL_NOTATION = 128,
  USCRIPT_SYMBOLS = 129,
  USCRIPT_BAMUM = 130,
  USCRIPT_LISU = 131,
  USCRIPT_NAKHI_GEBA = 132,
  USCRIPT_OLD_SOUTH_ARABIAN = 133,
  USCRIPT_BASSA_VAH = 134,
  USCRIPT_DUPLOYAN = 135,
  USCRIPT_DUPLOYAN_SHORTAND = USCRIPT_DUPLOYAN,
  USCRIPT_ELBASAN = 136,
  USCRIPT_GRANTHA = 137,
  USCRIPT_KPELLE = 138,
  USCRIPT_LOMA = 139,
  USCRIPT_MENDE = 140,
  USCRIPT_MEROITIC_CURSIVE = 141,
  USCRIPT_OLD_NORTH_ARABIAN = 142,
  USCRIPT_NABATAEAN = 143,
  USCRIPT_PALMYRENE = 144,
  USCRIPT_KHUDAWADI = 145,
  USCRIPT_SINDHI = USCRIPT_KHUDAWADI,
  USCRIPT_WARANG_CITI = 146,
  USCRIPT_AFAKA = 147,
  USCRIPT_JURCHEN = 148,
  USCRIPT_MRO = 149,
  USCRIPT_NUSHU = 150,
  USCRIPT_SHARADA = 151,
  USCRIPT_SORA_SOMPENG = 152,
  USCRIPT_TAKRI = 153,
  USCRIPT_TANGUT = 154,
  USCRIPT_WOLEAI = 155,
  USCRIPT_ANATOLIAN_HIEROGLYPHS = 156,
  USCRIPT_KHOJKI = 157,
  USCRIPT_TIRHUTA = 158,
  USCRIPT_CAUCASIAN_ALBANIAN = 159,
  USCRIPT_MAHAJANI = 160,
  USCRIPT_AHOM = 161,
  USCRIPT_HATRAN = 162,
  USCRIPT_MODI = 163,
  USCRIPT_MULTANI = 164,
  USCRIPT_PAU_CIN_HAU = 165,
  USCRIPT_SIDDHAM = 166,
  USCRIPT_ADLAM = 167,
  USCRIPT_BHAIKSUKI = 168,
  USCRIPT_MARCHEN = 169,
  USCRIPT_NEWA = 170,
  USCRIPT_OSAGE = 171,
  USCRIPT_HAN_WITH_BOPOMOFO = 172,
  USCRIPT_JAMO = 173,
  USCRIPT_SYMBOLS_EMOJI = 174,
  USCRIPT_MASARAM_GONDI = 175,
  USCRIPT_SOYOMBO = 176,
  USCRIPT_ZANABAZAR_SQUARE = 177,
  USCRIPT_DOGRA = 178,
  USCRIPT_GUNJALA_GONDI = 179,
  USCRIPT_MAKASAR = 180,
  USCRIPT_MEDEFAIDRIN = 181,
  USCRIPT_HANIFI_ROHINGYA = 182,
  USCRIPT_SOGDIAN = 183,
  USCRIPT_OLD_SOGDIAN = 184,
  USCRIPT_ELYMAIC = 185,
  USCRIPT_NYIAKENG_PUACHUE_HMONG = 186,
  USCRIPT_NANDINAGARI = 187,
  USCRIPT_WANCHO = 188,
  USCRIPT_CHORASMIAN = 189,
  USCRIPT_DIVES_AKURU = 190,
  USCRIPT_KHITAN_SMALL_SCRIPT = 191,
  USCRIPT_YEZIDI = 192,
  USCRIPT_CYPRO_MINOAN = 193,
  USCRIPT_OLD_UYGHUR = 194,
  USCRIPT_TANGSA = 195,
  USCRIPT_TOTO = 196,
  USCRIPT_VITHKUQI = 197,
  USCRIPT_KAWI = 198,
  USCRIPT_NAG_MUNDARI = 199,
  USCRIPT_ARABIC_NASTALIQ = 200,
  USCRIPT_GARAY = 201,
  USCRIPT_GURUNG_KHEMA = 202,
  USCRIPT_KIRAT_RAI = 203,
  USCRIPT_OL_ONAL = 204,
  USCRIPT_SUNUWAR = 205,
  USCRIPT_TODHRI = 206,
  USCRIPT_TULU_TIGALARI = 207,
  USCRIPT_CODE_LIMIT = 208
}
enum
ISO 15924 脚本代码常量。
UScriptUsage{
  USCRIPT_USAGE_NOT_ENCODED,
  USCRIPT_USAGE_UNKNOWN,
  USCRIPT_USAGE_EXCLUDED,
  USCRIPT_USAGE_LIMITED_USE,
  USCRIPT_USAGE_ASPIRATIONAL,
  USCRIPT_USAGE_RECOMMENDED
}
enum
脚本用法常量。
USentenceBreak{
  U_SB_OTHER = 0,
  U_SB_ATERM = 1,
  U_SB_CLOSE = 2,
  U_SB_FORMAT = 3,
  U_SB_LOWER = 4,
  U_SB_NUMERIC = 5,
  U_SB_OLETTER = 6,
  U_SB_SEP = 7,
  U_SB_SP = 8,
  U_SB_STERM = 9,
  U_SB_UPPER = 10,
  U_SB_CR = 11,
  U_SB_EXTEND = 12,
  U_SB_LF = 13,
  U_SB_SCONTINUE = 14,
  U_SB_COUNT = 15
}
enum
句子边界常量。
USentenceBreakTag{
  UBRK_SENTENCE_TERM = 0,
  UBRK_SENTENCE_TERM_LIMIT = 100,
  UBRK_SENTENCE_SEP = 100,
  UBRK_SENTENCE_SEP_LIMIT = 200
}
enum
getRuleStatus() 返回的句子边界标签的枚举常量。
UTransDirection{
  UTRANS_FORWARD,
  UTRANS_REVERSE
}
enum
指示转写器中方向的常量,例如 RuleBasedTransliterator 的正向或反向规则。
UVerticalOrientation{
  U_VO_ROTATED,
  U_VO_TRANSFORMED_ROTATED,
  U_VO_TRANSFORMED_UPRIGHT,
  U_VO_UPRIGHT
}
enum
垂直方向常量。
UWordBreak{
  UBRK_WORD_NONE = 0,
  UBRK_WORD_NONE_LIMIT = 100,
  UBRK_WORD_NUMBER = 100,
  UBRK_WORD_NUMBER_LIMIT = 200,
  UBRK_WORD_LETTER = 200,
  UBRK_WORD_LETTER_LIMIT = 300,
  UBRK_WORD_KANA = 300,
  UBRK_WORD_KANA_LIMIT = 400,
  UBRK_WORD_IDEO = 400,
  UBRK_WORD_IDEO_LIMIT = 500
}
enum
getRuleStatus() 返回的单词边界标签的枚举常量。
UWordBreakValues{
  U_WB_OTHER = 0,
  U_WB_ALETTER = 1,
  U_WB_FORMAT = 2,
  U_WB_KATAKANA = 3,
  U_WB_MIDLETTER = 4,
  U_WB_MIDNUM = 5,
  U_WB_NUMERIC = 6,
  U_WB_EXTENDNUMLET = 7,
  U_WB_CR = 8,
  U_WB_EXTEND = 9,
  U_WB_LF = 10,
  U_WB_MIDNUMLET =11,
  U_WB_NEWLINE =12,
  U_WB_REGIONAL_INDICATOR = 13,
  U_WB_HEBREW_LETTER = 14,
  U_WB_SINGLE_QUOTE = 15,
  U_WB_DOUBLE_QUOTE = 16,
  U_WB_E_BASE = 17,
  U_WB_E_BASE_GAZ = 18,
  U_WB_E_MODIFIER = 19,
  U_WB_GLUE_AFTER_ZWJ = 20,
  U_WB_ZWJ = 21,
  U_WB_WSEGSPACE = 22,
  U_WB_COUNT = 23
}
enum
单词边界常量。

类型别名

OldUChar OldUChar
uint16_t
ICU 58 中 UChar 的默认定义。
UBidiPairedBracketType typedef
Bidi 配对括号类型常量。
UBlockCode typedef
enum UBlockCode
UBool typedef
int8_t
ICU 布尔类型,一个有符号字节整数。
UBreakIteratorType typedef
文本边界的可能类型。
UCPMap typedef
struct UCPMap
从 Unicode 代码点 (U+0000..U+10FFFF) 到整数值的抽象映射。
UCPMapValueFilter(const void *context, uint32_t value) typedef
uint32_t U_CALLCONV
回调函数类型:修改映射值。
UChar UChar
char16_t
UTF-16 代码单元和指针的基本类型。
UChar32 typedef
int32_t
将 UChar32 定义为表示单个 Unicode 代码点的类型。
UCharCategory typedef
枚举的 Unicode 通用类别类型的数据。
UCharDirection typedef
这指定了字符集的语言方向属性。
UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type) typedef
来自 u_enumCharTypes() 的回调,会为每个连续的代码点范围 c (其中 start<=c
UCharNameChoice typedef
u_charName() 函数的选择器常量。
UColAttribute typedef
排序服务理解的属性。
UColAttributeValue typedef
包含用于控制排序行为的属性值的枚举。
UColBoundMode typedef
由 ucol_getBound API 接受的枚举。请参阅下方解释,请勿更改此枚举成员分配的值。
UColReorderCode typedef
包含用于重新排序排序表段(非脚本代码)的代码的枚举。
UCollationResult typedef
如果在 ucol_strcoll() 方法中源字符串被比较为小于目标字符串,则返回 UCOL_LESS。
UCollationStrength typedef
基本字母表示主要差异。
UCollator typedef
struct UCollator
表示排序器对象实例的结构
UDate typedef
double
日期和时间数据类型。
UDecompositionType typedef
分解类型常量。
UDisplayContext typedef
UDisplayContextType typedef
UEastAsianWidth typedef
东亚宽度常量。
UEnumCharNamesFn(void *context, UChar32 code, UCharNameChoice nameChoice, const char *name, int32_t length) typedef
u_enumCharNames() 的回调函数类型,为每个 Unicode 字符调用,提供其代码点值和字符名称。
UEnumeration typedef
struct UEnumeration
表示枚举对象实例的结构
UErrorCode typedef
enum UErrorCode
标准 ICU4C 错误代码类型,用于替代异常。
UGraphemeClusterBreak typedef
字形簇边界常量。
UHangulSyllableType typedef
韩语音节类型常量。
UIdentifierStatus typedef
标识符状态常量。
UIdentifierType typedef
标识符类型常量。
UIndicConjunctBreak typedef
印度语连字边界常量。
UIndicPositionalCategory typedef
印度语位置类别常量。
UIndicSyllabicCategory typedef
印度语音节类别常量。
UJoiningGroup typedef
连接组常量。
UJoiningType typedef
连接类型常量。
ULineBreak typedef
enum ULineBreak
换行符常量。
ULineBreakTag typedef
getRuleStatus() 返回的换行符标签的枚举常量。
ULocAvailableType typedef
uloc_getAvailableByType 和 uloc_countAvailableByType 的类型。
ULocaleData typedef
struct ULocaleData
一个区域设置数据对象。
ULocaleDisplayNames typedef
struct ULocaleDisplayNames 的 C typedef。
UNormalizationCheckResult typedef
规范化快速检查函数的结果值。
UNormalizer2 typedef
struct UNormalizer2
struct UNormalizer2 的 C typedef。
UNumericType typedef
数字类型常量。
UParseError typedef
struct UParseError
UParseError 结构体用于返回关于解析错误的详细信息。
UProperty typedef
enum UProperty
Unicode 属性的选择常量。
UPropertyNameChoice typedef
u_getPropertyName()u_getPropertyValueName() 函数的选择器常量。
UReplaceable typedef
void *
一个不透明的可替换文本对象。
UReplaceableCallbacks typedef
一组函数指针,转写器使用它们来操作 UReplaceable。
UScriptCode typedef
ISO 15924 脚本代码常量。
UScriptUsage typedef
脚本用法常量。
USentenceBreak typedef
句子边界常量。
USentenceBreakTag typedef
getRuleStatus() 返回的句子边界标签的枚举常量。
UText typedef
struct UText
struct UText 的 C typedef。
UTransDirection typedef
指示转写器中方向的常量,例如 RuleBasedTransliterator 的正向或反向规则。
UTransPosition typedef
utrans_transIncremental() 增量转写的位置结构。
UTransliterator typedef
void *
用于 C 的不透明音译器。
UVersionInfo[U_MAX_VERSION_LENGTH] typedef
uint8_t
ICU API 上的版本的二进制形式是一个包含 4 个 uint8_t 的数组。
UVerticalOrientation typedef
垂直方向常量。
UWordBreak typedef
enum UWordBreak
getRuleStatus() 返回的单词边界标签的枚举常量。
UWordBreakValues typedef
单词边界常量。

变量

context
U_CDECL_BEGIN typedef void *

函数

UChar(U_CALLCONV *UNESCAPE_CHAR_AT)(int32_t offset
U_CDECL_BEGIN typedef
u_unescapeAt() 的回调函数,给定偏移量和上下文指针,返回源文本中的一个字符。
u_charAge(UChar32 c, UVersionInfo versionArray)
U_CAPI void U_EXPORT2
获取代码点的“年龄”。
u_charDigitValue(UChar32 c)
U_CAPI int32_t U_EXPORT2
返回十进制数字字符的十进制数字值。
u_charDirection(UChar32 c)
返回用于代码点的双向类别值,该值在 Unicode 双向算法 (UAX #9 http://www.unicode.org/reports/tr9/) 中使用。
u_charFromName(UCharNameChoice nameChoice, const char *name, UErrorCode *pErrorCode)
U_CAPIUChar32 U_EXPORT2
通过名称查找 Unicode 字符并返回其代码点值。
u_charMirror(UChar32 c)
U_CAPIUChar32 U_EXPORT2
将指定字符映射到“镜像”字符。
u_charName(UChar32 code, UCharNameChoice nameChoice, char *buffer, int32_t bufferLength, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
检索 Unicode 字符的名称。
u_charType(UChar32 c)
U_CAPI int8_t U_EXPORT2
返回代码点的一般类别值。
u_countChar32(const UChar *s, int32_t length)
U_CAPI int32_t U_EXPORT2
计算字符串长度 UChar 代码单元中的 Unicode 代码点数量。
u_digit(UChar32 ch, int8_t radix)
U_CAPI int32_t U_EXPORT2
返回指定基数中代码点的十进制数字值。
u_enumCharNames(UChar32 start, UChar32 limit, UEnumCharNamesFn *fn, void *context, UCharNameChoice nameChoice, UErrorCode *pErrorCode)
U_CAPI void U_EXPORT2
枚举 start 和 limit 代码点之间所有已分配的 Unicode 字符(包含 start,不包含 limit),并为每个字符调用一个函数,传入代码点值和字符名称。
u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context)
U_CAPI void U_EXPORT2
高效地枚举所有代码点及其 Unicode 一般类别。
u_errorName(UErrorCode code)
U_CAPI const char *U_EXPORT2
返回 UErrorCode 值的字符串表示。
u_foldCase(UChar32 c, uint32_t options)
U_CAPIUChar32 U_EXPORT2
根据 UnicodeData.txt 和 CaseFolding.txt 将给定字符映射到其大小写折叠等价物;如果字符没有大小写折叠等价物,则返回字符本身。
u_forDigit(int32_t digit, int8_t radix)
U_CAPIUChar32 U_EXPORT2
确定指定基数中特定数字的字符表示形式。
u_getBidiPairedBracket(UChar32 c)
U_CAPIUChar32 U_EXPORT2
将指定字符映射到其配对的括号字符。
u_getCombiningClass(UChar32 c)
U_CAPI uint8_t U_EXPORT2
返回 UnicodeData.txt 中指定的代码点的组合类别。
u_getIntPropertyMaxValue(UProperty which)
U_CAPI int32_t U_EXPORT2
获取枚举/整数/二进制 Unicode 属性的最大值。
u_getIntPropertyMinValue(UProperty which)
U_CAPI int32_t U_EXPORT2
获取枚举/整数/二进制 Unicode 属性的最小值。
u_getIntPropertyValue(UChar32 c, UProperty which)
U_CAPI int32_t U_EXPORT2
获取代码点的枚举或整数 Unicode 属性的属性值。
u_getNumericValue(UChar32 c)
U_CAPI double U_EXPORT2
获取 Unicode 字符数据库中定义的 Unicode 代码点的数值。
u_getPropertyEnum(const char *alias)
U_CAPIUProperty U_EXPORT2
返回给定属性名称的 UProperty 枚举,如 Unicode 数据库文件 PropertyAliases.txt 中指定。
u_getPropertyName(UProperty property, UPropertyNameChoice nameChoice)
U_CAPI const char *U_EXPORT2
返回给定属性的 Unicode 名称,如 Unicode 数据库文件 PropertyAliases.txt 中指定。
u_getPropertyValueEnum(UProperty property, const char *alias)
U_CAPI int32_t U_EXPORT2
返回给定值名称的属性值整数,如 Unicode 数据库文件 PropertyValueAliases.txt 中指定。
u_getPropertyValueName(UProperty property, int32_t value, UPropertyNameChoice nameChoice)
U_CAPI const char *U_EXPORT2
返回给定属性值的 Unicode 名称,如 Unicode 数据库文件 PropertyValueAliases.txt 中指定。
u_getUnicodeVersion(UVersionInfo versionArray)
U_CAPI void U_EXPORT2
获取 Unicode 版本信息。
u_getVersion(UVersionInfo versionArray)
U_CAPI void U_EXPORT2
获取 ICU 发布版本。
u_hasBinaryProperty(UChar32 c, UProperty which)
U_CAPIUBool U_EXPORT2
检查代码点的二进制 Unicode 属性。
u_isIDIgnorable(UChar32 c)
U_CAPIUBool U_EXPORT2
根据 Java 确定指定字符在标识符中是否应被视为可忽略字符。
u_isIDPart(UChar32 c)
U_CAPIUBool U_EXPORT2
根据 UAX #31 Unicode 标识符和模式语法,确定指定字符是否允许作为标识符的非起始字符。
u_isIDStart(UChar32 c)
U_CAPIUBool U_EXPORT2
根据 UAX #31 Unicode 标识符和模式语法,确定指定字符是否允许作为标识符中的第一个字符。
u_isISOControl(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定的代码点是否为 ISO 控制代码。
u_isJavaIDPart(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定字符是否允许在 Java 标识符中使用。
u_isJavaIDStart(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定字符是否允许作为 Java 标识符中的第一个字符。
u_isJavaSpaceChar(UChar32 c)
U_CAPIUBool U_EXPORT2
根据 Java 确定指定代码点是否为空白字符。
u_isMirrored(UChar32 c)
U_CAPIUBool U_EXPORT2
确定代码点是否具有 Bidi_Mirrored 属性。
u_isUAlphabetic(UChar32 c)
U_CAPIUBool U_EXPORT2
检查代码点是否具有 Alphabetic Unicode 属性。
u_isULowercase(UChar32 c)
U_CAPIUBool U_EXPORT2
检查代码点是否具有 Lowercase Unicode 属性。
u_isUUppercase(UChar32 c)
U_CAPIUBool U_EXPORT2
检查代码点是否具有 Uppercase Unicode 属性。
u_isUWhiteSpace(UChar32 c)
U_CAPIUBool U_EXPORT2
检查代码点是否具有 White_Space Unicode 属性。
u_isWhitespace(UChar32 c)
U_CAPIUBool U_EXPORT2
根据 Java/ICU 确定指定代码点是否为空白字符。
u_isalnum(UChar32 c)
U_CAPIUBool U_EXPORT2
根据 Java 确定指定代码点是否为字母数字字符(字母或数字)。
u_isalpha(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定代码点是否为字母字符。
u_isbase(UChar32 c)
U_CAPIUBool U_EXPORT2
非标准:确定指定代码点是否为基础字符。
u_isblank(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定代码点是否为“空白”或“水平空格”,即在行上可见分隔单词的字符。
u_iscntrl(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定代码点是否为控制字符(由本函数定义)。
u_isdefined(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定代码点是否为“已定义”,这通常表示它已分配了字符。
u_isdigit(UChar32 c)
U_CAPIUBool U_EXPORT2
根据 Java 确定指定代码点是否为数字字符。
u_isgraph(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定代码点是否为“图形”字符(可打印,不包括空格)。
u_islower(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定代码点是否具有一般类别“Ll”(小写字母)。
u_isprint(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定代码点是否为可打印字符。
u_ispunct(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定代码点是否为标点符号。
u_isspace(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定字符是否为空格字符。
u_istitle(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定代码点是否为标题大小写字母。
u_isupper(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定代码点是否具有一般类别“Lu”(大写字母)。
u_isxdigit(UChar32 c)
U_CAPIUBool U_EXPORT2
确定指定代码点是否为十六进制数字。
u_memcasecmp(const UChar *s1, const UChar *s2, int32_t length, uint32_t options)
U_CAPI int32_t U_EXPORT2
使用完整的大小写折叠方式不区分大小写比较两个字符串。
u_memchr(const UChar *s, UChar c, int32_t count)
U_CAPIUChar *U_EXPORT2
查找 BMP 代码点在字符串中首次出现的位置。
u_memchr32(const UChar *s, UChar32 c, int32_t count)
U_CAPIUChar *U_EXPORT2
查找代码点在字符串中首次出现的位置。
u_memcmp(const UChar *buf1, const UChar *buf2, int32_t count)
U_CAPI int32_t U_EXPORT2
比较每个缓冲区的前 count 个 UChar。
u_memcmpCodePointOrder(const UChar *s1, const UChar *s2, int32_t count)
U_CAPI int32_t U_EXPORT2
按代码点顺序比较两个 Unicode 字符串。
u_memcpy(UChar *dest, const UChar *src, int32_t count)
U_CAPIUChar *U_EXPORT2
memcpy() 的同义词,但仅限 UChars。
u_memmove(UChar *dest, const UChar *src, int32_t count)
U_CAPIUChar *U_EXPORT2
memmove() 的同义词,但仅限 UChars。
u_memrchr(const UChar *s, UChar c, int32_t count)
U_CAPIUChar *U_EXPORT2
在字符串中查找 BMP 码点最后一次出现的位置。
u_memrchr32(const UChar *s, UChar32 c, int32_t count)
U_CAPIUChar *U_EXPORT2
在字符串中查找码点最后一次出现的位置。
u_memset(UChar *dest, UChar c, int32_t count)
U_CAPIUChar *U_EXPORT2
使用 c 初始化 dest 中的 count 个字符。
u_strCaseCompare(const UChar *s1, int32_t length1, const UChar *s2, int32_t length2, uint32_t options, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
使用完整的大小写折叠方式不区分大小写比较两个字符串。
u_strCompare(const UChar *s1, int32_t length1, const UChar *s2, int32_t length2, UBool codePointOrder)
U_CAPI int32_t U_EXPORT2
比较两个 Unicode 字符串(二进制顺序)。
u_strFindFirst(const UChar *s, int32_t length, const UChar *substring, int32_t subLength)
U_CAPIUChar *U_EXPORT2
在字符串中查找子字符串第一次出现的位置。
u_strFindLast(const UChar *s, int32_t length, const UChar *substring, int32_t subLength)
U_CAPIUChar *U_EXPORT2
在字符串中查找子字符串最后一次出现的位置。
u_strFoldCase(UChar *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, uint32_t options, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
对字符串中的字符进行大小写折叠。
u_strFromUTF32(UChar *dest, int32_t destCapacity, int32_t *pDestLength, const UChar32 *src, int32_t srcLength, UErrorCode *pErrorCode)
U_CAPIUChar *U_EXPORT2
将 UTF-32 字符串转换为 UTF-16。
u_strFromUTF32WithSub(UChar *dest, int32_t destCapacity, int32_t *pDestLength, const UChar32 *src, int32_t srcLength, UChar32 subchar, int32_t *pNumSubstitutions, UErrorCode *pErrorCode)
U_CAPIUChar *U_EXPORT2
将 UTF-32 字符串转换为 UTF-16。
u_strFromUTF8(UChar *dest, int32_t destCapacity, int32_t *pDestLength, const char *src, int32_t srcLength, UErrorCode *pErrorCode)
U_CAPIUChar *U_EXPORT2
将 UTF-8 字符串转换为 UTF-16。
u_strFromUTF8Lenient(UChar *dest, int32_t destCapacity, int32_t *pDestLength, const char *src, int32_t srcLength, UErrorCode *pErrorCode)
U_CAPIUChar *U_EXPORT2
将 UTF-8 字符串转换为 UTF-16。
u_strFromUTF8WithSub(UChar *dest, int32_t destCapacity, int32_t *pDestLength, const char *src, int32_t srcLength, UChar32 subchar, int32_t *pNumSubstitutions, UErrorCode *pErrorCode)
U_CAPIUChar *U_EXPORT2
将 UTF-8 字符串转换为 UTF-16。
u_strHasMoreChar32Than(const UChar *s, int32_t length, int32_t number)
U_CAPIUBool U_EXPORT2
检查字符串是否包含比某个数字更多的 Unicode 码点。
u_strToLower(UChar *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, const char *locale, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
将字符串中的字符转换为小写。
u_strToTitle(UChar *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, UBreakIterator *titleIter, const char *locale, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
将字符串转换为标题大小写。
u_strToUTF32(UChar32 *dest, int32_t destCapacity, int32_t *pDestLength, const UChar *src, int32_t srcLength, UErrorCode *pErrorCode)
U_CAPIUChar32 *U_EXPORT2
将 UTF-16 字符串转换为 UTF-32。
u_strToUTF32WithSub(UChar32 *dest, int32_t destCapacity, int32_t *pDestLength, const UChar *src, int32_t srcLength, UChar32 subchar, int32_t *pNumSubstitutions, UErrorCode *pErrorCode)
U_CAPIUChar32 *U_EXPORT2
将 UTF-16 字符串转换为 UTF-32。
u_strToUTF8(char *dest, int32_t destCapacity, int32_t *pDestLength, const UChar *src, int32_t srcLength, UErrorCode *pErrorCode)
U_CAPI char *U_EXPORT2
将 UTF-16 字符串转换为 UTF-8。
u_strToUTF8WithSub(char *dest, int32_t destCapacity, int32_t *pDestLength, const UChar *src, int32_t srcLength, UChar32 subchar, int32_t *pNumSubstitutions, UErrorCode *pErrorCode)
U_CAPI char *U_EXPORT2
将 UTF-16 字符串转换为 UTF-8。
u_strToUpper(UChar *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, const char *locale, UErrorCode *pErrorCode)
U_CDECL_ENDU_CAPI int32_t U_EXPORT2
将字符串中的字符转换为大写。
u_strcasecmp(const UChar *s1, const UChar *s2, uint32_t options)
U_CAPI int32_t U_EXPORT2
使用完整的大小写折叠方式不区分大小写比较两个字符串。
u_strcat(UChar *dst, const UChar *src)
U_CAPIUChar *U_EXPORT2
连接两个 ustrings。
u_strchr(const UChar *s, UChar c)
U_CAPIUChar *U_EXPORT2
查找 BMP 代码点在字符串中首次出现的位置。
u_strchr32(const UChar *s, UChar32 c)
U_CAPIUChar *U_EXPORT2
查找代码点在字符串中首次出现的位置。
u_strcmp(const UChar *s1, const UChar *s2)
U_CAPI int32_t U_EXPORT2
比较两个 Unicode 字符串的按位等价性(码元顺序)。
u_strcmpCodePointOrder(const UChar *s1, const UChar *s2)
U_CAPI int32_t U_EXPORT2
按代码点顺序比较两个 Unicode 字符串。
u_strcpy(UChar *dst, const UChar *src)
U_CAPIUChar *U_EXPORT2
复制一个 ustring。
u_strcspn(const UChar *string, const UChar *matchSet)
U_CAPI int32_t U_EXPORT2
返回 string 中连续字符的数量(从第一个字符开始),这些字符未出现在 matchSet 中的任何位置。
u_strlen(const UChar *s)
U_CAPI int32_t U_EXPORT2
确定 UChar 数组的长度。
u_strncasecmp(const UChar *s1, const UChar *s2, int32_t n, uint32_t options)
U_CAPI int32_t U_EXPORT2
使用完整的大小写折叠方式不区分大小写比较两个字符串。
u_strncat(UChar *dst, const UChar *src, int32_t n)
U_CAPIUChar *U_EXPORT2
连接两个 ustrings。
u_strncmp(const UChar *ucs1, const UChar *ucs2, int32_t n)
U_CAPI int32_t U_EXPORT2
比较两个 ustrings 的按位等价性。
u_strncmpCodePointOrder(const UChar *s1, const UChar *s2, int32_t n)
U_CAPI int32_t U_EXPORT2
按代码点顺序比较两个 Unicode 字符串。
u_strncpy(UChar *dst, const UChar *src, int32_t n)
U_CAPIUChar *U_EXPORT2
复制一个 ustring。
u_strpbrk(const UChar *string, const UChar *matchSet)
U_CAPIUChar *U_EXPORT2
查找字符串 string 中任何字符在字符串 matchSet 中第一次出现的位置。
u_strrchr(const UChar *s, UChar c)
U_CAPIUChar *U_EXPORT2
在字符串中查找 BMP 码点最后一次出现的位置。
u_strrchr32(const UChar *s, UChar32 c)
U_CAPIUChar *U_EXPORT2
在字符串中查找码点最后一次出现的位置。
u_strrstr(const UChar *s, const UChar *substring)
U_CAPIUChar *U_EXPORT2
在字符串中查找子字符串最后一次出现的位置。
u_strspn(const UChar *string, const UChar *matchSet)
U_CAPI int32_t U_EXPORT2
返回 string 中连续字符的数量(从第一个字符开始),这些字符出现在 matchSet 中的某个位置。
u_strstr(const UChar *s, const UChar *substring)
U_CAPIUChar *U_EXPORT2
在字符串中查找子字符串第一次出现的位置。
u_strtok_r(UChar *src, const UChar *delim, UChar **saveState)
U_CAPIUChar *U_EXPORT2
字符串分词器 API 允许应用程序将字符串分解为词元。
u_tolower(UChar32 c)
U_CAPIUChar32 U_EXPORT2
根据 UnicodeData.txt 将给定字符映射到其小写等效项;如果该字符没有小写等效项,则返回该字符本身。
u_totitle(UChar32 c)
U_CAPIUChar32 U_EXPORT2
根据 UnicodeData.txt 将给定字符映射到其标题大小写等效项;如果未定义,则返回该字符本身。
u_toupper(UChar32 c)
U_CAPIUChar32 U_EXPORT2
根据 UnicodeData.txt 将给定字符映射到其大写等效项;如果该字符没有大写等效项,则返回该字符本身。
u_versionToString(const UVersionInfo versionArray, char *versionString)
U_CAPI void U_EXPORT2
根据输入的 UVersionInfo 写入带点分版本信息的字符串。
ubrk_clone(const UBreakIterator *bi, UErrorCode *status)
线程安全克隆操作。
ubrk_close(UBreakIterator *bi)
U_CAPI void U_EXPORT2
关闭 UBreakIterator。
ubrk_countAvailable(void)
U_CAPI int32_t U_EXPORT2
确定有多少区域设置具有可用的文本断行信息。
ubrk_current(const UBreakIterator *bi)
U_CAPI int32_t U_EXPORT2
确定最近返回的文本边界。
ubrk_first(UBreakIterator *bi)
U_CAPI int32_t U_EXPORT2
将迭代器位置设置为零,即要扫描文本的开始。
ubrk_following(UBreakIterator *bi, int32_t offset)
U_CAPI int32_t U_EXPORT2
将迭代器向前移动到指定偏移量后的第一个边界。
ubrk_getAvailable(int32_t index)
U_CAPI const char *U_EXPORT2
获取具有可用文本断行信息的区域设置。
ubrk_getRuleStatus(UBreakIterator *bi)
U_CAPI int32_t U_EXPORT2
返回确定最近返回的断行位置的断行规则的状态。
ubrk_getRuleStatusVec(UBreakIterator *bi, int32_t *fillInVec, int32_t capacity, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
获取确定最近返回的断行位置的断行规则的状态。
ubrk_isBoundary(UBreakIterator *bi, int32_t offset)
U_CAPIUBool U_EXPORT2
如果指定位置是边界位置,则返回 true。
ubrk_last(UBreakIterator *bi)
U_CAPI int32_t U_EXPORT2
将迭代器位置设置为要扫描文本中最后一个字符 之后 的索引。
ubrk_next(UBreakIterator *bi)
U_CAPI int32_t U_EXPORT2
将迭代器向前移动到当前边界后的边界。
ubrk_open(UBreakIteratorType type, const char *locale, const UChar *text, int32_t textLength, UErrorCode *status)
打开一个新的 UBreakIterator,用于定位指定区域设置的文本边界。
ubrk_preceding(UBreakIterator *bi, int32_t offset)
U_CAPI int32_t U_EXPORT2
将迭代器位置设置为指定偏移量前的第一个边界。
ubrk_previous(UBreakIterator *bi)
U_CAPI int32_t U_EXPORT2
将迭代器位置设置为当前边界前的边界。
ubrk_setText(UBreakIterator *bi, const UChar *text, int32_t textLength, UErrorCode *status)
U_CAPI void U_EXPORT2
设置现有迭代器指向一段新文本。
ubrk_setUText(UBreakIterator *bi, UText *text, UErrorCode *status)
U_CAPI void U_EXPORT2
设置现有迭代器指向一段新文本。
ucol_clone(const UCollator *coll, UErrorCode *status)
U_CAPIUCollator *U_EXPORT2
线程安全克隆操作。
ucol_close(UCollator *coll)
U_CAPI void U_EXPORT2
关闭 UCollator。
ucol_countAvailable(void)
U_CAPI int32_t U_EXPORT2
确定有多少区域设置具有可用的排序规则。
ucol_getAttribute(const UCollator *coll, UColAttribute attr, UErrorCode *status)
通用属性获取器。
ucol_getAvailable(int32_t localeIndex)
U_CAPI const char *U_EXPORT2
获取具有可用排序规则的区域设置。
ucol_getDisplayName(const char *objLoc, const char *dispLoc, UChar *result, int32_t resultLength, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
获取 UCollator 的显示名称。
ucol_getEquivalentReorderCodes(int32_t reorderCode, int32_t *dest, int32_t destCapacity, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
检索与给定重排序代码分组的重排序代码。
ucol_getFunctionalEquivalent(char *result, int32_t resultCapacity, const char *keyword, const char *locale, UBool *isAvailable, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
对于排序服务,返回指定输入区域设置相对于给定关键字的功能上等效的区域设置。
ucol_getKeywordValues(const char *keyword, UErrorCode *status)
U_CAPIUEnumeration *U_EXPORT2
给定一个关键字,创建一个字符串枚举器,列出该关键字当前使用的所有值。
ucol_getKeywordValuesForLocale(const char *key, const char *locale, UBool commonlyUsed, UErrorCode *status)
U_CAPIUEnumeration *U_EXPORT2
给定一个键和区域设置,返回一个按首选顺序排列的字符串值数组,这些值会产生影响。
ucol_getKeywords(UErrorCode *status)
U_CAPIUEnumeration *U_EXPORT2
创建一个字符串枚举器,列出与排序相关的所有可能关键字。
ucol_getMaxVariable(const UCollator *coll)
返回受 UCOL_ALTERNATE_HANDLING 影响的字符的最大重排序组。
ucol_getReorderCodes(const UCollator *coll, int32_t *dest, int32_t destCapacity, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
检索此排序器的重排序代码。
ucol_getSortKey(const UCollator *coll, const UChar *source, int32_t sourceLength, uint8_t *result, int32_t resultLength)
U_CAPI int32_t U_EXPORT2
从 UCollator 获取字符串的排序键。
ucol_getStrength(const UCollator *coll)
获取 UCollator 中使用的排序强度。
ucol_mergeSortkeys(const uint8_t *src1, int32_t src1Length, const uint8_t *src2, int32_t src2Length, uint8_t *dest, int32_t destCapacity)
U_CAPI int32_t U_EXPORT2
合并两个排序键。
ucol_open(const char *loc, UErrorCode *status)
U_CAPIUCollator *U_EXPORT2
打开一个 UCollator 用于比较字符串。
ucol_openAvailableLocales(UErrorCode *status)
U_CAPIUEnumeration *U_EXPORT2
创建一个字符串枚举器,列出所有可以打开有效排序器的区域设置。
ucol_openRules(const UChar *rules, int32_t rulesLength, UColAttributeValue normalizationMode, UCollationStrength strength, UParseError *parseError, UErrorCode *status)
U_CAPIUCollator *U_EXPORT2
根据提供的规则生成一个 UCollator 实例。
ucol_setAttribute(UCollator *coll, UColAttribute attr, UColAttributeValue value, UErrorCode *status)
U_CAPI void U_EXPORT2
通用属性设置器。
ucol_setMaxVariable(UCollator *coll, UColReorderCode group, UErrorCode *pErrorCode)
U_CAPI void U_EXPORT2
将可变顶部设置为指定重排序组的顶部。
ucol_setReorderCodes(UCollator *coll, const int32_t *reorderCodes, int32_t reorderCodesLength, UErrorCode *pErrorCode)
U_CAPI void U_EXPORT2
设置此排序器的重排序代码。
ucol_setStrength(UCollator *coll, UCollationStrength strength)
U_CAPI void U_EXPORT2
设置 UCollator 中使用的排序强度。
ucol_strcoll(const UCollator *coll, const UChar *source, int32_t sourceLength, const UChar *target, int32_t targetLength)
比较两个字符串。
ucol_strcollUTF8(const UCollator *coll, const char *source, int32_t sourceLength, const char *target, int32_t targetLength, UErrorCode *status)
比较两个 UTF-8 字符串。
uenum_close(UEnumeration *en)
U_CAPI void U_EXPORT2
释放迭代器正在使用的资源。
uenum_count(UEnumeration *en, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
返回迭代器遍历的元素数量。
uenum_next(UEnumeration *en, int32_t *resultLength, UErrorCode *status)
U_CAPI const char *U_EXPORT2
返回迭代器列表中的下一个元素。
uenum_openCharStringsEnumeration(const char *const strings[], int32_t count, UErrorCode *ec)
U_CAPIUEnumeration *U_EXPORT2
给定一个 const char* 字符串数组(仅限不变字符),返回一个 UEnumeration。
uenum_openUCharStringsEnumeration(const UChar *const strings[], int32_t count, UErrorCode *ec)
U_CAPIUEnumeration *U_EXPORT2
给定一个 const UChar* 字符串数组,返回一个 UEnumeration。
uenum_reset(UEnumeration *en, UErrorCode *status)
U_CAPI void U_EXPORT2
将迭代器重置为当前服务 ID 列表。
uenum_unext(UEnumeration *en, int32_t *resultLength, UErrorCode *status)
U_CAPI const UChar *U_EXPORT2
返回迭代器列表中的下一个元素。
uldn_close(ULocaleDisplayNames *ldn)
U_CAPI void U_EXPORT2
关闭从 uldn_open() 获取的 ULocaleDisplayNames 实例。
uldn_getContext(const ULocaleDisplayNames *ldn, UDisplayContextType type, UErrorCode *pErrorCode)
返回指定 UDisplayContextType 的 UDisplayContext 值。
uldn_getDialectHandling(const ULocaleDisplayNames *ldn)
返回显示名称中使用的方言处理方式。
uldn_getLocale(const ULocaleDisplayNames *ldn)
U_CAPI const char *U_EXPORT2
返回用于确定显示名称的区域设置。
uldn_keyDisplayName(const ULocaleDisplayNames *ldn, const char *key, UChar *result, int32_t maxResultSize, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
返回提供的区域设置关键字的显示名称。
uldn_keyValueDisplayName(const ULocaleDisplayNames *ldn, const char *key, const char *value, UChar *result, int32_t maxResultSize, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
返回提供的值的显示名称(与提供的键一起使用)。
uldn_languageDisplayName(const ULocaleDisplayNames *ldn, const char *lang, UChar *result, int32_t maxResultSize, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
返回提供的语言代码的显示名称。
uldn_localeDisplayName(const ULocaleDisplayNames *ldn, const char *locale, UChar *result, int32_t maxResultSize, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
返回提供的区域设置的显示名称。
uldn_open(const char *locale, UDialectHandling dialectHandling, UErrorCode *pErrorCode)
返回一个 LocaleDisplayNames 实例,该实例使用提供的 dialectHandling 返回针对提供的区域设置格式化的名称。
uldn_openForContext(const char *locale, UDisplayContext *contexts, int32_t length, UErrorCode *pErrorCode)
返回一个 LocaleDisplayNames 实例,该实例使用提供的 UDisplayContext 设置返回针对提供的区域设置格式化的名称。
uldn_regionDisplayName(const ULocaleDisplayNames *ldn, const char *region, UChar *result, int32_t maxResultSize, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
返回提供的地区代码的显示名称。
uldn_scriptCodeDisplayName(const ULocaleDisplayNames *ldn, UScriptCode scriptCode, UChar *result, int32_t maxResultSize, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
返回提供的脚本代码的显示名称。
uldn_scriptDisplayName(const ULocaleDisplayNames *ldn, const char *script, UChar *result, int32_t maxResultSize, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
返回提供的脚本的显示名称。
uldn_variantDisplayName(const ULocaleDisplayNames *ldn, const char *variant, UChar *result, int32_t maxResultSize, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
返回提供的变体的显示名称。
uloc_acceptLanguage(char *result, int32_t resultAvailable, UAcceptResult *outResult, const char **acceptList, int32_t acceptListCount, UEnumeration *availableLocales, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
根据可用区域设置列表,确定用户可接受的区域设置。
uloc_addLikelySubtags(const char *localeID, char *maximizedLocaleID, int32_t maximizedLocaleIDCapacity, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
根据以下 CLDR 技术报告中描述的算法,为提供的区域设置 ID 添加可能的子标签
uloc_canonicalize(const char *localeID, char *name, int32_t nameCapacity, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
获取指定区域设置的完整名称。
uloc_countAvailable(void)
U_CAPI int32_t U_EXPORT2
获取所有可用区域设置列表的大小。
uloc_forLanguageTag(const char *langtag, char *localeID, int32_t localeIDCapacity, int32_t *parsedLength, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
返回指定 BCP47 语言标签字符串的区域设置 ID。
uloc_getAvailable(int32_t n)
U_CAPI const char *U_EXPORT2
从可用区域设置列表中获取指定的区域设置。
uloc_getBaseName(const char *localeID, char *name, int32_t nameCapacity, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
获取指定区域设置的完整名称,类似于 uloc_getName(),但不包含关键字。
uloc_getCharacterOrientation(const char *localeId, UErrorCode *status)
U_CAPIULayoutType U_EXPORT2
获取指定区域设置的布局字符方向。
uloc_getCountry(const char *localeID, char *country, int32_t countryCapacity, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
获取指定区域设置的国家/地区代码。
uloc_getDefault(void)
U_CAPI const char *U_EXPORT2
获取 ICU 的默认区域设置。
uloc_getDisplayCountry(const char *locale, const char *displayLocale, UChar *country, int32_t countryCapacity, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
获取适合显示的指定区域设置的国家/地区名称。
uloc_getDisplayKeyword(const char *keyword, const char *displayLocale, UChar *dest, int32_t destCapacity, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
获取适合显示的指定区域设置的关键字名称。
uloc_getDisplayKeywordValue(const char *locale, const char *keyword, const char *displayLocale, UChar *dest, int32_t destCapacity, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
获取适合显示的指定区域设置的关键字值。
uloc_getDisplayLanguage(const char *locale, const char *displayLocale, UChar *language, int32_t languageCapacity, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
获取适合显示的指定区域设置的语言名称。
uloc_getDisplayName(const char *localeID, const char *inLocaleID, UChar *result, int32_t maxResultSize, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
获取适合显示的指定区域设置的完整名称。
uloc_getDisplayScript(const char *locale, const char *displayLocale, UChar *script, int32_t scriptCapacity, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
获取适合显示的指定区域设置的脚本名称。
uloc_getDisplayVariant(const char *locale, const char *displayLocale, UChar *variant, int32_t variantCapacity, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
获取适合显示的指定区域设置的变体名称。
uloc_getISO3Country(const char *localeID)
U_CAPI const char *U_EXPORT2
获取指定区域设置的 ISO 国家/地区代码。
uloc_getISO3Language(const char *localeID)
U_CAPI const char *U_EXPORT2
获取指定区域设置的 ISO 语言代码。
uloc_getISOCountries(void)
U_CAPI const char *const *U_EXPORT2
获取 ISO 639 中定义的所有可用 2 字母国家/地区代码列表。
uloc_getISOLanguages(void)
U_CAPI const char *const *U_EXPORT2
获取 ISO 639 中定义的所有可用 2 字母语言代码列表,以及根据 Unicode CLDR 定义对区域设置生成有用的其他 3 字母代码。
uloc_getKeywordValue(const char *localeID, const char *keywordName, char *buffer, int32_t bufferCapacity, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
获取关键字的值。
uloc_getLanguage(const char *localeID, char *language, int32_t languageCapacity, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
获取指定区域设置的语言代码。
uloc_getLineOrientation(const char *localeId, UErrorCode *status)
U_CAPIULayoutType U_EXPORT2
获取指定区域设置的布局行方向。
uloc_getName(const char *localeID, char *name, int32_t nameCapacity, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
获取指定区域设置的完整名称。
uloc_getScript(const char *localeID, char *script, int32_t scriptCapacity, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
获取指定区域设置的脚本代码。
uloc_getVariant(const char *localeID, char *variant, int32_t variantCapacity, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
获取指定区域设置的变体代码。
uloc_isRightToLeft(const char *locale)
U_CAPIUBool U_EXPORT2
返回区域设置的脚本是否是从右到左书写。
uloc_minimizeSubtags(const char *localeID, char *minimizedLocaleID, int32_t minimizedLocaleIDCapacity, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
根据以下 CLDR 技术报告中描述的算法,最小化提供的区域设置 ID 的子标签
uloc_openKeywords(const char *localeID, UErrorCode *status)
U_CAPIUEnumeration *U_EXPORT2
获取指定区域设置的关键字枚举。
uloc_setKeywordValue(const char *keywordName, const char *keywordValue, char *buffer, int32_t bufferCapacity, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
设置或移除指定关键字的值。
uloc_toLanguageTag(const char *localeID, char *langtag, int32_t langtagCapacity, UBool strict, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
返回此区域设置 ID 的格式良好的语言标签。
uloc_toLegacyKey(const char *keyword)
U_CAPI const char *U_EXPORT2
将指定关键字(BCP 47 Unicode 区域设置扩展键或旧版键)转换为旧版键。
uloc_toLegacyType(const char *keyword, const char *value)
U_CAPI const char *U_EXPORT2
将指定关键字值(BCP 47 Unicode 区域设置扩展类型或旧版类型或类型别名)转换为规范的旧版类型。
uloc_toUnicodeLocaleKey(const char *keyword)
U_CAPI const char *U_EXPORT2
将指定关键字(旧版键或 BCP 47 Unicode 区域设置扩展键)转换为等效的 BCP 47 Unicode 区域设置扩展键。
uloc_toUnicodeLocaleType(const char *keyword, const char *value)
U_CAPI const char *U_EXPORT2
将指定关键字值(旧版类型或 BCP 47 Unicode 区域设置扩展类型)转换为指定关键字(类别)的格式良好的 BCP 47 Unicode 区域设置扩展类型。
ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status)
U_CAPI void U_EXPORT2
返回库当前使用的 CLDR 版本。
unorm2_append(const UNormalizer2 *norm2, UChar *first, int32_t firstLength, int32_t firstCapacity, const UChar *second, int32_t secondLength, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
将第二个字符串附加到第一个字符串(在边界处合并),并返回第一个字符串的长度。
unorm2_close(UNormalizer2 *norm2)
U_CAPI void U_EXPORT2
关闭从 unorm2_openFiltered() 获取的 UNormalizer2 实例。
unorm2_composePair(const UNormalizer2 *norm2, UChar32 a, UChar32 b)
U_CAPIUChar32 U_EXPORT2
执行 a & b 的成对组合,如果存在组合,则返回组合结果。
unorm2_getCombiningClass(const UNormalizer2 *norm2, UChar32 c)
U_CAPI uint8_t U_EXPORT2
获取 c 的组合类。
unorm2_getDecomposition(const UNormalizer2 *norm2, UChar32 c, UChar *decomposition, int32_t capacity, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
获取 c 的分解映射。
unorm2_getNFCInstance(UErrorCode *pErrorCode)
U_CAPI const UNormalizer2 *U_EXPORT2
返回用于 Unicode NFC 规范化的 UNormalizer2 实例。
unorm2_getNFDInstance(UErrorCode *pErrorCode)
U_CAPI const UNormalizer2 *U_EXPORT2
返回用于 Unicode NFD 规范化的 UNormalizer2 实例。
unorm2_getNFKCCasefoldInstance(UErrorCode *pErrorCode)
U_CAPI const UNormalizer2 *U_EXPORT2
返回用于 Unicode toNFKC_Casefold() 规范化的 UNormalizer2 实例,这等效于应用 NFKC_Casefold 映射,然后应用 NFC。
unorm2_getNFKCInstance(UErrorCode *pErrorCode)
U_CAPI const UNormalizer2 *U_EXPORT2
返回用于 Unicode NFKC 规范化的 UNormalizer2 实例。
unorm2_getNFKDInstance(UErrorCode *pErrorCode)
U_CAPI const UNormalizer2 *U_EXPORT2
返回用于 Unicode NFKD 规范化的 UNormalizer2 实例。
unorm2_getRawDecomposition(const UNormalizer2 *norm2, UChar32 c, UChar *decomposition, int32_t capacity, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
获取 c 的原始分解映射。
unorm2_hasBoundaryAfter(const UNormalizer2 *norm2, UChar32 c)
U_CAPIUBool U_EXPORT2
测试该字符在其后是否总有规范化边界,无论上下文如何。
unorm2_hasBoundaryBefore(const UNormalizer2 *norm2, UChar32 c)
U_CAPIUBool U_EXPORT2
测试该字符在其前是否总有规范化边界,无论上下文如何。
unorm2_isInert(const UNormalizer2 *norm2, UChar32 c)
U_CAPIUBool U_EXPORT2
测试该字符是否规范化惰性。
unorm2_isNormalized(const UNormalizer2 *norm2, const UChar *s, int32_t length, UErrorCode *pErrorCode)
U_CAPIUBool U_EXPORT2
测试字符串是否已规范化。
unorm2_normalize(const UNormalizer2 *norm2, const UChar *src, int32_t length, UChar *dest, int32_t capacity, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
将源字符串的规范化形式写入目标字符串(替换其内容),并返回目标字符串的长度。
unorm2_normalizeSecondAndAppend(const UNormalizer2 *norm2, UChar *first, int32_t firstLength, int32_t firstCapacity, const UChar *second, int32_t secondLength, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
将第二个字符串的规范化形式附加到第一个字符串(在边界处合并),并返回第一个字符串的长度。
unorm2_quickCheck(const UNormalizer2 *norm2, const UChar *s, int32_t length, UErrorCode *pErrorCode)
测试字符串是否已规范化。
unorm2_spanQuickCheckYes(const UNormalizer2 *norm2, const UChar *s, int32_t length, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
返回输入字符串中规范化子字符串的末尾。
uscript_breaksBetweenLetters(UScriptCode script)
U_CAPIUBool U_EXPORT2
如果脚本允许字母之间换行(不包括连字符),则返回 true。
uscript_getCode(const char *nameOrAbbrOrLocale, UScriptCode *fillIn, int32_t capacity, UErrorCode *err)
U_CAPI int32_t U_EXPORT2
获取与给定区域设置或 ISO 15924 缩写或名称关联的脚本代码。
uscript_getName(UScriptCode scriptCode)
U_CAPI const char *U_EXPORT2
返回完整的 Unicode 脚本名称(如果存在)。
uscript_getSampleString(UScriptCode script, UChar *dest, int32_t capacity, UErrorCode *pErrorCode)
U_CAPI int32_t U_EXPORT2
写入脚本示例字符字符串。
uscript_getScript(UChar32 codepoint, UErrorCode *err)
U_CAPIUScriptCode U_EXPORT2
获取与给定码点关联的脚本代码。
uscript_getScriptExtensions(UChar32 c, UScriptCode *scripts, int32_t capacity, UErrorCode *errorCode)
U_CAPI int32_t U_EXPORT2
将码点 c 的脚本扩展作为 UScriptCode 值列表写入输出 scripts 数组,并返回脚本代码的数量。
uscript_getShortName(UScriptCode scriptCode)
U_CAPI const char *U_EXPORT2
返回 4 字母 ISO 15924 脚本代码,如果 Unicode 对该脚本有名称,则该代码与短 Unicode 脚本名称相同。
uscript_getUsage(UScriptCode script)
U_CAPIUScriptUsage U_EXPORT2
根据 UAX #31 Unicode 标识符和模式语法返回脚本用法。
uscript_hasScript(UChar32 c, UScriptCode sc)
U_CAPIUBool U_EXPORT2
码点 c 的脚本扩展是否包含脚本 sc?如果 c 没有显式脚本扩展,则此测试 c 是否具有脚本属性值 sc。
uscript_isCased(UScriptCode script)
U_CAPIUBool U_EXPORT2
如果在现代(或最近的)脚本使用中区分大小写是习惯性的,则返回 true。
uscript_isRightToLeft(UScriptCode script)
U_CAPIUBool U_EXPORT2
如果脚本是从右到左书写,则返回 true。
utext_char32At(UText *ut, int64_t nativeIndex)
U_CAPIUChar32 U_EXPORT2
返回请求索引处的码点,如果超出范围则返回 U_SENTINEL (-1)。
utext_clone(UText *dest, const UText *src, UBool deep, UBool readOnly, UErrorCode *status)
U_CAPIUText *U_EXPORT2
克隆一个 UText。
utext_close(UText *ut)
U_CAPIUText *U_EXPORT2
UTtext 实例的关闭函数。
utext_current32(UText *ut)
U_CAPIUChar32 U_EXPORT2
获取当前迭代位置的码点,如果迭代已到达输入文本的末尾,则返回 U_SENTINEL (-1)。
utext_equals(const UText *a, const UText *b)
U_CAPIUBool U_EXPORT2
比较两个 UText 对象是否相等。
utext_extract(UText *ut, int64_t nativeStart, int64_t nativeLimit, UChar *dest, int32_t destCapacity, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
从 UText 中提取文本到 UChar 缓冲区。
utext_getNativeIndex(const UText *ut)
U_CAPI int64_t U_EXPORT2
获取当前迭代位置,范围从 0 到文本长度。
utext_getPreviousNativeIndex(UText *ut)
U_CAPI int64_t U_EXPORT2
获取前一个字符的本机索引。
utext_moveIndex32(UText *ut, int32_t delta)
U_CAPIUBool U_EXPORT2
将迭代器位置移动 delta 个码点。
utext_nativeLength(UText *ut)
U_CAPI int64_t U_EXPORT2
获取文本长度。
utext_next32(UText *ut)
U_CAPIUChar32 U_EXPORT2
获取 UText 当前迭代位置的码点,并将位置向前移动到该字符后的第一个索引。
utext_next32From(UText *ut, int64_t nativeIndex)
U_CAPIUChar32 U_EXPORT2
设置迭代索引并返回该索引处的码点。
utext_openUChars(UText *ut, const UChar *s, int64_t length, UErrorCode *status)
U_CAPIUText *U_EXPORT2
打开 UChar * 字符串的只读 UText。
utext_openUTF8(UText *ut, const char *s, int64_t length, UErrorCode *status)
U_CAPIUText *U_EXPORT2
打开 UTF-8 字符串的只读 UText 实现。
utext_previous32(UText *ut)
U_CAPIUChar32 U_EXPORT2
将迭代器位置移动到索引在当前位置之前的字符(码点),并返回该字符。
utext_previous32From(UText *ut, int64_t nativeIndex)
U_CAPIUChar32 U_EXPORT2
设置迭代索引,并返回初始索引指定位置之前的码点。
utext_setNativeIndex(UText *ut, int64_t nativeIndex)
U_CAPI void U_EXPORT2
将当前迭代位置设置为位于指定索引处或之前的最接近的码点边界。
utrans_clone(const UTransliterator *trans, UErrorCode *status)
创建转写器的副本。
utrans_close(UTransliterator *trans)
U_CAPI void U_EXPORT2
关闭转写器。
utrans_openIDs(UErrorCode *pErrorCode)
U_CAPIUEnumeration *U_EXPORT2
返回可用转写器的 UEnumeration。
utrans_openInverse(const UTransliterator *trans, UErrorCode *status)
打开现有转写器的逆向转写器。
utrans_openU(const UChar *id, int32_t idLength, UTransDirection dir, const UChar *rules, int32_t rulesLength, UParseError *parseError, UErrorCode *pErrorCode)
给定自定义规则字符串或系统转写器 ID,打开自定义转写器或系统转写器。
utrans_setFilter(UTransliterator *trans, const UChar *filterPattern, int32_t filterPatternLen, UErrorCode *status)
U_CAPI void U_EXPORT2
设置转写器使用的过滤器。
utrans_toRules(const UTransliterator *trans, UBool escapeUnprintable, UChar *result, int32_t resultLength, UErrorCode *status)
U_CAPI int32_t U_EXPORT2
创建可传递给 utrans_openU 以重新创建此转写器的规则字符串。
utrans_trans(const UTransliterator *trans, UReplaceable *rep, const UReplaceableCallbacks *repFunc, int32_t start, int32_t *limit, UErrorCode *status)
U_CAPI void U_EXPORT2
转写 UReplaceable 字符串的一个片段。
utrans_transIncremental(const UTransliterator *trans, UReplaceable *rep, const UReplaceableCallbacks *repFunc, UTransPosition *pos, UErrorCode *status)
U_CAPI void U_EXPORT2
转写 UReplaceable 文本缓冲区中可以明确转写的部分。
utrans_transIncrementalUChars(const UTransliterator *trans, UChar *text, int32_t *textLength, int32_t textCapacity, UTransPosition *pos, UErrorCode *status)
U_CAPI void U_EXPORT2
转写 UChar* 文本缓冲区中可以明确转写的部分。
utrans_transUChars(const UTransliterator *trans, UChar *text, int32_t *textLength, int32_t textCapacity, int32_t start, int32_t *limit, UErrorCode *status)
U_CAPI void U_EXPORT2
转写 UChar* 字符串的一个片段。

Structs

UParseError

UParseError 结构体用于返回关于解析错误的详细信息。

UReplaceableCallbacks

一组函数指针,转写器使用它们来操作 UReplaceable。

UTransPosition

utrans_transIncremental() 增量转写的位置结构。

枚举

Anonymous Enum 117

unicode/parseerr.h 中声明
 Anonymous Enum 117

UParseError 结构体中上下文字符串的容量。

属性
U_PARSE_CONTEXT_LEN

UAcceptResult

unicode/uloc.h 中声明
 UAcceptResult

uloc_acceptLanguage() 写入 'outResult' 参数的输出值。

另请参阅:uloc_acceptLanguageFromHTTP 另请参阅:uloc_acceptLanguage

属性
ULOC_ACCEPT_FAILED

未找到精确匹配项。

ULOC_ACCEPT_FALLBACK

已找到备用项。

例如,Accept-Language 列表包含 'ja_JP',并与可用区域设置 'ja' 匹配。

ULOC_ACCEPT_VALID

已找到精确匹配项。

UBidiPairedBracketType

unicode/uchar.h 中声明
 UBidiPairedBracketType

Bidi 配对括号类型常量。

另请参阅: UCHAR_BIDI_PAIRED_BRACKET_TYPE

属性
U_BPT_CLOSE

闭合成对括号。

U_BPT_COUNT

比最高正常 UBidiPairedBracketType 值大一。

最高值可通过 u_getIntPropertyMaxValue(UCHAR_BIDI_PAIRED_BRACKET_TYPE) 获取。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_BPT_NONE

不是成对括号。

U_BPT_OPEN

开放成对括号。

UBlockCode

unicode/uchar.h 中声明
 UBlockCode

Unicode 区块常量,请参阅 Unicode 数据文件 Blocks.txt。

属性
UBLOCK_ADLAM

UBLOCK_AEGEAN_NUMBERS

UBLOCK_AHOM

UBLOCK_ALCHEMICAL_SYMBOLS

UBLOCK_ALPHABETIC_PRESENTATION_FORMS

UBLOCK_ANATOLIAN_HIEROGLYPHS

UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION

UBLOCK_ANCIENT_GREEK_NUMBERS

UBLOCK_ANCIENT_SYMBOLS

UBLOCK_ARABIC

UBLOCK_ARABIC_EXTENDED_A

UBLOCK_ARABIC_EXTENDED_B

UBLOCK_ARABIC_EXTENDED_C

UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS

UBLOCK_ARABIC_PRESENTATION_FORMS_A

UBLOCK_ARABIC_PRESENTATION_FORMS_B

UBLOCK_ARABIC_SUPPLEMENT

UBLOCK_ARMENIAN

UBLOCK_ARROWS

UBLOCK_AVESTAN

UBLOCK_BALINESE

UBLOCK_BAMUM

UBLOCK_BAMUM_SUPPLEMENT

UBLOCK_BASIC_LATIN

UBLOCK_BASSA_VAH

UBLOCK_BATAK

UBLOCK_BENGALI

UBLOCK_BHAIKSUKI

UBLOCK_BLOCK_ELEMENTS

UBLOCK_BOPOMOFO

UBLOCK_BOPOMOFO_EXTENDED

UBLOCK_BOX_DRAWING

UBLOCK_BRAHMI

UBLOCK_BRAILLE_PATTERNS

UBLOCK_BUGINESE

UBLOCK_BUHID

UBLOCK_BYZANTINE_MUSICAL_SYMBOLS

UBLOCK_CARIAN

UBLOCK_CAUCASIAN_ALBANIAN

UBLOCK_CHAKMA

UBLOCK_CHAM

UBLOCK_CHEROKEE

UBLOCK_CHEROKEE_SUPPLEMENT

UBLOCK_CHESS_SYMBOLS

UBLOCK_CHORASMIAN

UBLOCK_CJK_COMPATIBILITY

UBLOCK_CJK_COMPATIBILITY_FORMS

UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS

UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT

UBLOCK_CJK_RADICALS_SUPPLEMENT

UBLOCK_CJK_STROKES

UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION

UBLOCK_CJK_UNIFIED_IDEOGRAPHS

UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A

UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B

UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C

UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D

UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E

UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F

UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G

UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H

UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_I

UBLOCK_COMBINING_DIACRITICAL_MARKS

UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED

UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT

UBLOCK_COMBINING_HALF_MARKS

UBLOCK_COMBINING_MARKS_FOR_SYMBOLS

Unicode 3.2 将此块重命名为“Combining Diacritical Marks for Symbols”。

UBLOCK_COMMON_INDIC_NUMBER_FORMS

UBLOCK_CONTROL_PICTURES

UBLOCK_COPTIC

UBLOCK_COPTIC_EPACT_NUMBERS

UBLOCK_COUNT

比最高的正常 UBlockCode 值大一。

最高值可通过 u_getIntPropertyMaxValue(UCHAR_BLOCK) 获取。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UBLOCK_COUNTING_ROD_NUMERALS

UBLOCK_CUNEIFORM

UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION

UBLOCK_CURRENCY_SYMBOLS

UBLOCK_CYPRIOT_SYLLABARY

UBLOCK_CYPRO_MINOAN

UBLOCK_CYRILLIC

UBLOCK_CYRILLIC_EXTENDED_A

UBLOCK_CYRILLIC_EXTENDED_B

UBLOCK_CYRILLIC_EXTENDED_C

UBLOCK_CYRILLIC_EXTENDED_D

UBLOCK_CYRILLIC_SUPPLEMENT

UBLOCK_CYRILLIC_SUPPLEMENTARY

Unicode 4.0.1 将“西里尔文补充 (Cyrillic Supplementary)”块重命名为“西里尔文增补 (Cyrillic Supplement)”。

UBLOCK_DESERET

UBLOCK_DEVANAGARI

UBLOCK_DEVANAGARI_EXTENDED

UBLOCK_DEVANAGARI_EXTENDED_A

UBLOCK_DINGBATS

UBLOCK_DIVES_AKURU

UBLOCK_DOGRA

UBLOCK_DOMINO_TILES

UBLOCK_DUPLOYAN

UBLOCK_EARLY_DYNASTIC_CUNEIFORM

UBLOCK_EGYPTIAN_HIEROGLYPHS

UBLOCK_EGYPTIAN_HIEROGLYPHS_EXTENDED_A

UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS

UBLOCK_ELBASAN

UBLOCK_ELYMAIC

UBLOCK_EMOTICONS

UBLOCK_ENCLOSED_ALPHANUMERICS

UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT

UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS

UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT

UBLOCK_ETHIOPIC

UBLOCK_ETHIOPIC_EXTENDED

UBLOCK_ETHIOPIC_EXTENDED_A

UBLOCK_ETHIOPIC_EXTENDED_B

UBLOCK_ETHIOPIC_SUPPLEMENT

UBLOCK_GARAY

UBLOCK_GENERAL_PUNCTUATION

UBLOCK_GEOMETRIC_SHAPES

UBLOCK_GEOMETRIC_SHAPES_EXTENDED

UBLOCK_GEORGIAN

UBLOCK_GEORGIAN_EXTENDED

UBLOCK_GEORGIAN_SUPPLEMENT

UBLOCK_GLAGOLITIC

UBLOCK_GLAGOLITIC_SUPPLEMENT

UBLOCK_GOTHIC

UBLOCK_GRANTHA

UBLOCK_GREEK

Unicode 3.2 将此块重命名为“希腊文和科普特文 (Greek and Coptic)”。

UBLOCK_GREEK_EXTENDED

UBLOCK_GUJARATI

UBLOCK_GUNJALA_GONDI

UBLOCK_GURMUKHI

UBLOCK_GURUNG_KHEMA

UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS

UBLOCK_HANGUL_COMPATIBILITY_JAMO

UBLOCK_HANGUL_JAMO

UBLOCK_HANGUL_JAMO_EXTENDED_A

UBLOCK_HANGUL_JAMO_EXTENDED_B

UBLOCK_HANGUL_SYLLABLES

UBLOCK_HANIFI_ROHINGYA

UBLOCK_HANUNOO

UBLOCK_HATRAN

UBLOCK_HEBREW

UBLOCK_HIGH_PRIVATE_USE_SURROGATES

UBLOCK_HIGH_SURROGATES

UBLOCK_HIRAGANA

UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS

UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION

UBLOCK_IMPERIAL_ARAMAIC

UBLOCK_INDIC_SIYAQ_NUMBERS

UBLOCK_INSCRIPTIONAL_PAHLAVI

UBLOCK_INSCRIPTIONAL_PARTHIAN

UBLOCK_INVALID_CODE

UBLOCK_IPA_EXTENSIONS

UBLOCK_JAVANESE

UBLOCK_KAITHI

UBLOCK_KAKTOVIK_NUMERALS

UBLOCK_KANA_EXTENDED_A

UBLOCK_KANA_EXTENDED_B

UBLOCK_KANA_SUPPLEMENT

UBLOCK_KANBUN

UBLOCK_KANGXI_RADICALS

UBLOCK_KANNADA

UBLOCK_KATAKANA

UBLOCK_KATAKANA_PHONETIC_EXTENSIONS

UBLOCK_KAWI

UBLOCK_KAYAH_LI

UBLOCK_KHAROSHTHI

UBLOCK_KHITAN_SMALL_SCRIPT

UBLOCK_KHMER

UBLOCK_KHMER_SYMBOLS

UBLOCK_KHOJKI

UBLOCK_KHUDAWADI

UBLOCK_KIRAT_RAI

UBLOCK_LAO

UBLOCK_LATIN_1_SUPPLEMENT

UBLOCK_LATIN_EXTENDED_A

UBLOCK_LATIN_EXTENDED_ADDITIONAL

UBLOCK_LATIN_EXTENDED_B

UBLOCK_LATIN_EXTENDED_C

UBLOCK_LATIN_EXTENDED_D

UBLOCK_LATIN_EXTENDED_E

UBLOCK_LATIN_EXTENDED_F

UBLOCK_LATIN_EXTENDED_G

UBLOCK_LEPCHA

UBLOCK_LETTERLIKE_SYMBOLS

UBLOCK_LIMBU

UBLOCK_LINEAR_A

UBLOCK_LINEAR_B_IDEOGRAMS

UBLOCK_LINEAR_B_SYLLABARY

UBLOCK_LISU

UBLOCK_LISU_SUPPLEMENT

UBLOCK_LOW_SURROGATES

UBLOCK_LYCIAN

UBLOCK_LYDIAN

UBLOCK_MAHAJANI

UBLOCK_MAHJONG_TILES

UBLOCK_MAKASAR

UBLOCK_MALAYALAM

UBLOCK_MANDAIC

UBLOCK_MANICHAEAN

UBLOCK_MARCHEN

UBLOCK_MASARAM_GONDI

UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS

UBLOCK_MATHEMATICAL_OPERATORS

UBLOCK_MAYAN_NUMERALS

UBLOCK_MEDEFAIDRIN

UBLOCK_MEETEI_MAYEK

UBLOCK_MEETEI_MAYEK_EXTENSIONS

UBLOCK_MENDE_KIKAKUI

UBLOCK_MEROITIC_CURSIVE

UBLOCK_MEROITIC_HIEROGLYPHS

UBLOCK_MIAO

UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A

UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B

UBLOCK_MISCELLANEOUS_SYMBOLS

UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS

UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS

UBLOCK_MISCELLANEOUS_TECHNICAL

UBLOCK_MODI

UBLOCK_MODIFIER_TONE_LETTERS

UBLOCK_MONGOLIAN

UBLOCK_MONGOLIAN_SUPPLEMENT

UBLOCK_MRO

UBLOCK_MULTANI

UBLOCK_MUSICAL_SYMBOLS

UBLOCK_MYANMAR

UBLOCK_MYANMAR_EXTENDED_A

UBLOCK_MYANMAR_EXTENDED_B

UBLOCK_MYANMAR_EXTENDED_C

UBLOCK_NABATAEAN

UBLOCK_NAG_MUNDARI

UBLOCK_NANDINAGARI

UBLOCK_NEWA

UBLOCK_NEW_TAI_LUE

UBLOCK_NKO

UBLOCK_NO_BLOCK

Unicode 4 中的新 No_Block 值。

UBLOCK_NUMBER_FORMS

UBLOCK_NUSHU

UBLOCK_NYIAKENG_PUACHUE_HMONG

UBLOCK_OGHAM

UBLOCK_OLD_HUNGARIAN

UBLOCK_OLD_ITALIC

UBLOCK_OLD_NORTH_ARABIAN

UBLOCK_OLD_PERMIC

UBLOCK_OLD_PERSIAN

UBLOCK_OLD_SOGDIAN

UBLOCK_OLD_SOUTH_ARABIAN

UBLOCK_OLD_TURKIC

UBLOCK_OLD_UYGHUR

UBLOCK_OL_CHIKI

UBLOCK_OL_ONAL

UBLOCK_OPTICAL_CHARACTER_RECOGNITION

UBLOCK_ORIYA

UBLOCK_ORNAMENTAL_DINGBATS

UBLOCK_OSAGE

UBLOCK_OSMANYA

UBLOCK_OTTOMAN_SIYAQ_NUMBERS

UBLOCK_PAHAWH_HMONG

UBLOCK_PALMYRENE

UBLOCK_PAU_CIN_HAU

UBLOCK_PHAGS_PA

UBLOCK_PHAISTOS_DISC

UBLOCK_PHOENICIAN

UBLOCK_PHONETIC_EXTENSIONS

UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT

UBLOCK_PLAYING_CARDS

UBLOCK_PRIVATE_USE

与 UBLOCK_PRIVATE_USE_AREA 相同。

直到 Unicode 3.1.1,对应的块名称是 "Private Use",并且多个码点范围属于此块。Unicode 3.2 将 BMP PUA 的块重命名为 "Private Use Area",并为补充 PUA 添加单独的块。

UBLOCK_PRIVATE_USE_AREA

与 UBLOCK_PRIVATE_USE 相同。

直到 Unicode 3.1.1,对应的块名称是 "Private Use",并且多个码点范围属于此块。Unicode 3.2 将 BMP PUA 的块重命名为 "Private Use Area",并为补充 PUA 添加单独的块。

UBLOCK_PSALTER_PAHLAVI

UBLOCK_REJANG

UBLOCK_RUMI_NUMERAL_SYMBOLS

UBLOCK_RUNIC

UBLOCK_SAMARITAN

UBLOCK_SAURASHTRA

UBLOCK_SHARADA

UBLOCK_SHAVIAN

UBLOCK_SHORTHAND_FORMAT_CONTROLS

UBLOCK_SIDDHAM

UBLOCK_SINHALA

UBLOCK_SINHALA_ARCHAIC_NUMBERS

UBLOCK_SMALL_FORM_VARIANTS

UBLOCK_SMALL_KANA_EXTENSION

UBLOCK_SOGDIAN

UBLOCK_SORA_SOMPENG

UBLOCK_SOYOMBO

UBLOCK_SPACING_MODIFIER_LETTERS

UBLOCK_SPECIALS

UBLOCK_SUNDANESE

UBLOCK_SUNDANESE_SUPPLEMENT

UBLOCK_SUNUWAR

UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS

UBLOCK_SUPPLEMENTAL_ARROWS_A

UBLOCK_SUPPLEMENTAL_ARROWS_B

UBLOCK_SUPPLEMENTAL_ARROWS_C

UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS

UBLOCK_SUPPLEMENTAL_PUNCTUATION

UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS

UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A

UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B

UBLOCK_SUTTON_SIGNWRITING

UBLOCK_SYLOTI_NAGRI

UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A

UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING

UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT

UBLOCK_SYRIAC

UBLOCK_SYRIAC_SUPPLEMENT

UBLOCK_TAGALOG

UBLOCK_TAGBANWA

UBLOCK_TAGS

UBLOCK_TAI_LE

UBLOCK_TAI_THAM

UBLOCK_TAI_VIET

UBLOCK_TAI_XUAN_JING_SYMBOLS

UBLOCK_TAKRI

UBLOCK_TAMIL

UBLOCK_TAMIL_SUPPLEMENT

UBLOCK_TANGSA

UBLOCK_TANGUT

UBLOCK_TANGUT_COMPONENTS

UBLOCK_TANGUT_SUPPLEMENT

UBLOCK_TELUGU

UBLOCK_THAANA

UBLOCK_THAI

UBLOCK_TIBETAN

UBLOCK_TIFINAGH

UBLOCK_TIRHUTA

UBLOCK_TODHRI

UBLOCK_TOTO

UBLOCK_TRANSPORT_AND_MAP_SYMBOLS

UBLOCK_TULU_TIGALARI

UBLOCK_UGARITIC

UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS

UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED

UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A

UBLOCK_VAI

UBLOCK_VARIATION_SELECTORS

UBLOCK_VARIATION_SELECTORS_SUPPLEMENT

UBLOCK_VEDIC_EXTENSIONS

UBLOCK_VERTICAL_FORMS

UBLOCK_VITHKUQI

UBLOCK_WANCHO

UBLOCK_WARANG_CITI

UBLOCK_YEZIDI

UBLOCK_YIJING_HEXAGRAM_SYMBOLS

UBLOCK_YI_RADICALS

UBLOCK_YI_SYLLABLES

UBLOCK_ZANABAZAR_SQUARE

UBLOCK_ZNAMENNY_MUSICAL_NOTATION

UBreakIteratorType

声明于 unicode/ubrk.h
 UBreakIteratorType

文本边界的可能类型。

属性
UBRK_CHARACTER

字符分界。

UBRK_COUNT

比最高的正常 UBreakIteratorType 值大一。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UBRK_LINE

换行分界。

UBRK_SENTENCE

句子分界。

UBRK_TITLE

标题大小写分界。使用此类型创建的迭代器仅定位 Unicode 3.2 中描述的标题边界。

对于 Unicode 4.0 及更高版本的标题边界迭代,请使用单词边界迭代器。

已弃用。 ICU 2.8 对于 Unicode 4 及更高版本的标题大写,请使用单词分界迭代器。

UBRK_WORD

单词分界。

UCPMapRangeOption

声明于 unicode/ucpmap.h
 UCPMapRangeOption

用于控制 ucpmap_getRange() 等函数行为的选择器。

应报告与代理项重叠的值范围。大多数用户应使用 UCPMAP_RANGE_NORMAL。

另请参阅:ucpmap_getRange 另请参阅:ucptrie_getRange 另请参阅:umutablecptrie_getRange

属性
UCPMAP_RANGE_FIXED_ALL_SURROGATES

ucpmap_getRange() 枚举映射中存储的所有具有相同值的范围,除了所有代理项(U+D800..U+DFFF)都被视为具有 surrogateValue,后者作为单独的参数传递给 getRange()。

surrogateValue 不通过 filter() 转换。另请参阅 U_IS_SURROGATE(c)

大多数用户应使用 UCPMAP_RANGE_NORMAL 代替。

此选项对于将代理代码 单元 映射到针对 UTF-16 字符串处理优化的特殊值,或用于处理未配对代理项的特殊错误行为的映射很有用,但这些值不与前导代理码点相关联。

UCPMAP_RANGE_FIXED_LEAD_SURROGATES

ucpmap_getRange() 枚举映射中存储的所有具有相同值的范围,除了前导代理项(U+D800..U+DBFF)被视为具有 surrogateValue,后者作为单独的参数传递给 getRange()。

surrogateValue 不通过 filter() 转换。另请参阅 U_IS_LEAD(c)

大多数用户应使用 UCPMAP_RANGE_NORMAL 代替。

此选项对于将代理代码 单元 映射到针对 UTF-16 字符串处理优化的特殊值,或用于处理未配对代理项的特殊错误行为的映射很有用,但这些值不与前导代理码点相关联。

UCPMAP_RANGE_NORMAL

ucpmap_getRange() 枚举映射中存储的所有具有相同值的范围。

大多数用户应使用此选项。

UCharCategory

unicode/uchar.h 中声明
 UCharCategory

枚举的 Unicode 通用类别类型的数据。

另请参阅 http://www.unicode.org/Public/UNIDATA/UnicodeData.html

属性
U_CHAR_CATEGORY_COUNT

比最后一个 enum UCharCategory 常量大一。

此数值是稳定的(不会改变),另请参阅 http://www.unicode.org/policies/stability_policy.html#Property_Value

U_COMBINING_SPACING_MARK

Mc。

U_CONNECTOR_PUNCTUATION

Pc。

U_CONTROL_CHAR

Cc。

U_CURRENCY_SYMBOL

Sc。

U_DASH_PUNCTUATION

Pd。

U_DECIMAL_DIGIT_NUMBER

Nd。

U_ENCLOSING_MARK

Me。

U_END_PUNCTUATION

Pe。

U_FINAL_PUNCTUATION

Pf。

U_FORMAT_CHAR

Cf。

U_GENERAL_OTHER_TYPES

Cn "其他,未分配 ([UnicodeData.txt] 中没有字符具有此属性)" (与 U_UNASSIGNED! 相同)

U_INITIAL_PUNCTUATION

Pi。

U_LETTER_NUMBER

Nl。

U_LINE_SEPARATOR

Zl。

U_LOWERCASE_LETTER

Ll。

U_MATH_SYMBOL

Sm。

U_MODIFIER_LETTER

Lm。

U_MODIFIER_SYMBOL

Sk。

U_NON_SPACING_MARK

Mn。

U_OTHER_LETTER

Lo。

U_OTHER_NUMBER

No。

U_OTHER_PUNCTUATION

Po。

U_OTHER_SYMBOL

So。

U_PARAGRAPH_SEPARATOR

Zp。

U_PRIVATE_USE_CHAR

Co。

U_SPACE_SEPARATOR

Zs。

U_START_PUNCTUATION

Ps。

U_SURROGATE

Cs。

U_TITLECASE_LETTER

Lt。

U_UNASSIGNED

未分配和非字符码点的非类别。

U_UPPERCASE_LETTER

Lu。

UCharDirection

unicode/uchar.h 中声明
 UCharDirection

这指定了字符集的语言方向属性。

属性
U_ARABIC_NUMBER

AN。

U_BLOCK_SEPARATOR

B。

U_BOUNDARY_NEUTRAL

BN。

U_CHAR_DIRECTION_COUNT

比最高的 UCharDirection 值大一。

可通过 u_getIntPropertyMaxValue(UCHAR_BIDI_CLASS) 获取最高值。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_COMMON_NUMBER_SEPARATOR

CS。

U_DIR_NON_SPACING_MARK

NSM。

U_EUROPEAN_NUMBER

EN。

U_EUROPEAN_NUMBER_SEPARATOR

ES。

U_EUROPEAN_NUMBER_TERMINATOR

ET。

U_FIRST_STRONG_ISOLATE

FSI。

U_LEFT_TO_RIGHT

L。

U_LEFT_TO_RIGHT_EMBEDDING

LRE。

U_LEFT_TO_RIGHT_ISOLATE

LRI。

U_LEFT_TO_RIGHT_OVERRIDE

LRO。

U_OTHER_NEUTRAL

ON。

U_POP_DIRECTIONAL_FORMAT

PDF。

U_POP_DIRECTIONAL_ISOLATE

PDI。

U_RIGHT_TO_LEFT

R。

U_RIGHT_TO_LEFT_ARABIC

AL。

U_RIGHT_TO_LEFT_EMBEDDING

RLE。

U_RIGHT_TO_LEFT_ISOLATE

RLI。

U_RIGHT_TO_LEFT_OVERRIDE

RLO。

U_SEGMENT_SEPARATOR

S。

U_WHITE_SPACE_NEUTRAL

WS。

UCharNameChoice

unicode/uchar.h 中声明
 UCharNameChoice

u_charName() 函数的选择器常量。

u_charName() 返回 Unicode 字符的“现代”名称;或 Unicode 1.0 版本中定义的名称,在此之前 Unicode 标准与 ISO-10646 合并;或为每个 Unicode 码点提供唯一名称的“扩展”名称。

另请参阅: u_charName

属性
U_CHAR_NAME_ALIAS

来自 NameAliases.txt 的修正名称。

U_CHAR_NAME_CHOICE_COUNT

比最高的正常 UCharNameChoice 值大一。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_EXTENDED_CHAR_NAME

标准或合成字符名称。

U_UNICODE_10_CHAR_NAME

Unicode_1_Name 属性值,实用价值不大。

从 ICU 49 开始,ICU API 会对此名称选择返回空字符串。 已弃用。 ICU 49

U_UNICODE_CHAR_NAME

Unicode 字符名称(名称属性)。

UColAttribute

声明于 unicode/ucol.h
 UColAttribute

排序服务理解的属性。

所有属性都可以采用 UCOL_DEFAULT 值,以及每个属性特定的值。

属性
UCOL_ALTERNATE_HANDLING

用于处理可变元素的属性。

可接受的值是 UCOL_NON_IGNORABLE,它以相同的方式处理所有具有非忽略主权重的码点,以及 UCOL_SHIFTED,它使得主权重等于或低于可变顶部值的码点在主级别被忽略并移动到四级。Collator 对象的默认设置取决于从资源加载的区域设置数据。对于大多数区域设置,默认值为 UCOL_NON_IGNORABLE,但对于其他区域设置(例如 "th"),默认值可能是 UCOL_SHIFTED。

UCOL_ATTRIBUTE_COUNT

比最高的正常 UColAttribute 值大一。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UCOL_CASE_FIRST

控制大写和小写字母的顺序。

可接受的值是 UCOL_OFF,它根据其三级权重对大写和小写字母进行排序,UCOL_UPPER_FIRST 它强制大写字母排在小写字母之前,以及 UCOL_LOWER_FIRST 它执行相反的操作。Collator 对象的默认设置取决于从资源加载的区域设置数据。对于大多数区域设置,默认值为 UCOL_OFF,但对于其他区域设置(例如 "da" 或 "mt"),默认值可能是 UCOL_UPPER。

UCOL_CASE_LEVEL

控制是否生成额外的区分大小写级别(位于第三级别之前)。

可接受的值是 UCOL_OFF,当不生成区分大小写级别时,以及 UCOL_ON,它导致生成区分大小写级别。区分大小写级别的内容受 UCOL_CASE_FIRST 属性值的影响。忽略字符串中重音差异的简单方法是将强度设置为 UCOL_PRIMARY 并启用区分大小写级别。Collator 对象的默认设置取决于从资源加载的区域设置数据。

UCOL_DECOMPOSITION_MODE

UCOL_NORMALIZATION_MODE 属性的别名。

UCOL_FRENCH_COLLATION

用于二级权重方向的属性 - 在加拿大法语中使用。

可接受的值是 UCOL_ON,它导致二级权重向后考虑,以及 UCOL_OFF,它按其出现的顺序处理二级权重。

UCOL_HIRAGANA_QUATERNARY_MODE

启用后,此属性将日文平假名置于四级中所有非忽略字符之前,这是生成 JIS 排序顺序的一种巧妙方法。

此属性是 CLDR 日语定制的实现细节。从 ICU 50 开始,此属性无法再通过 API 函数设置。从 CLDR 25/ICU 53 开始,使用显式四级关系来实现相同的日语排序顺序。

已弃用。 ICU 50 实现细节,不能通过 API 设置,已从实现中移除。

UCOL_NORMALIZATION_MODE

控制是否执行规范化检查和必要的规范化。

当设置为 UCOL_OFF 时,不执行规范化检查。仅当输入数据采用所谓的 FCD 形式(有关更多信息,请参阅用户手册)时,才能保证结果的正确性。当设置为 UCOL_ON 时,会执行增量检查以查看输入数据是否采用 FCD 形式。如果数据不在 FCD 形式,则执行增量 NFD 规范化。Collator 对象的默认设置取决于从资源加载的区域设置数据。对于许多区域设置,默认值为 UCOL_OFF,但对于其他区域设置(例如 "hi"、"vi" 或 "bn"),默认值可能是 UCOL_ON。

UCOL_NUMERIC_COLLATION

启用后,此属性会使数字子字符串按照其数值排序。

这是让“100”在“2”之后排序的一种方法。请注意,可以作为单个单元处理的最长数字子字符串为 254 位(不包括前导零)。如果数字子字符串比该长度长,则超出限制的数字将被视为单独的数字子字符串。

在此意义上,“数字”是一个码点,其 General_Category=Nd,不包括带圈数字、罗马数字等。仅考虑连续的数字子字符串,即不带分隔符的非负整数。不支持正负号、小数、指数等。

UCOL_STRENGTH

强度属性。

可以是 UCOL_PRIMARY、UCOL_SECONDARY、UCOL_TERTIARY、UCOL_QUATERNARY 或 UCOL_IDENTICAL。对于大多数区域设置(日语除外),通常的强度是三级。

当与可变元素处理属性的 shifted 设置以及 JIS X 4061 排序规则结合使用时,四级强度很有用,此时它用于区分片假名和平假名。否则,四级仅受字符串中非忽略码点数量的影响。

相同强度很少有用,因为它相当于字符串 NFD 形式的码点。

UColAttributeValue

声明于 unicode/ucol.h
 UColAttributeValue

包含用于控制排序行为的属性值的枚举。

这里是所有允许的值。并非每个属性都可以采用每个值。唯一的通用值是 UCOL_DEFAULT,它将属性值重置为该区域设置的预定义值

属性
UCOL_ATTRIBUTE_VALUE_COUNT

比最高的正常 UColAttributeValue 值大一。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UCOL_CE_STRENGTH_LIMIT
UCOL_DEFAULT

大多数属性接受

UCOL_DEFAULT_STRENGTH

默认排序强度。

UCOL_IDENTICAL

相同排序强度。

UCOL_LOWER_FIRST

对 UCOL_CASE_FIRST 有效 - 小写字母排在大写字母之前。

UCOL_NON_IGNORABLE

对 UCOL_ALTERNATE_HANDLING 有效。

可变元素处理将是非忽略的

UCOL_OFF

关闭此特性 - 适用于 UCOL_FRENCH_COLLATION、UCOL_CASE_LEVEL、UCOL_HIRAGANA_QUATERNARY_MODE 和 UCOL_DECOMPOSITION_MODE。

UCOL_ON

启用此特性 - 适用于 UCOL_FRENCH_COLLATION、UCOL_CASE_LEVEL、UCOL_HIRAGANA_QUATERNARY_MODE 和 UCOL_DECOMPOSITION_MODE。

UCOL_PRIMARY

主排序强度。

UCOL_QUATERNARY

四级排序强度。

UCOL_SECONDARY

二级排序强度。

UCOL_SHIFTED

对 UCOL_ALTERNATE_HANDLING 有效。

可变元素处理将被移位

UCOL_STRENGTH_LIMIT
UCOL_TERTIARY

三级排序强度。

UCOL_UPPER_FIRST

大写字母排在小写字母之前

UColBoundMode

声明于 unicode/ucol.h
 UColBoundMode

由 ucol_getBound API 接受的枚举。请参阅下方解释,请勿更改此枚举成员分配的值。

底层代码依赖于它们具有这些编号

属性
UCOL_BOUND_LOWER

下限

UCOL_BOUND_UPPER

将匹配精确大小字符串的上限

UCOL_BOUND_UPPER_LONG

将匹配与给定字符串具有相同初始子字符串的所有字符串的上限

UCOL_BOUND_VALUE_COUNT

比最高的正常 UColBoundMode 值大一。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UColReorderCode

声明于 unicode/ucol.h
 UColReorderCode

包含用于重新排序排序表段(非脚本代码)的代码的枚举。

这些重新排序代码与脚本代码一起使用。 另请参阅:ucol_getReorderCodes另请参阅:ucol_setReorderCodes另请参阅:ucol_getEquivalentReorderCodes另请参阅:UScriptCode

属性
UCOL_REORDER_CODE_CURRENCY

具有货币属性的字符。

这等同于规则值 "currency"。

UCOL_REORDER_CODE_DEFAULT

一个特殊的重新排序代码,用于指定区域设置默认重新排序代码。

UCOL_REORDER_CODE_DIGIT

具有数字属性的字符。

这等同于规则值 "digit"。

UCOL_REORDER_CODE_FIRST

重新排序组枚举中的第一个条目。

这旨在用于范围检查和重新排序代码的枚举。

UCOL_REORDER_CODE_LIMIT

比最高的正常 UColReorderCode 值大一。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UCOL_REORDER_CODE_NONE

一个特殊的重新排序代码,用于指定不进行重新排序。

UCOL_REORDER_CODE_OTHERS

一个特殊的重新排序代码,用于指定所有其他用于重新排序的代码,除了列为 UColReorderCode 值和在重新排序中明确列出的代码。

UCOL_REORDER_CODE_PUNCTUATION

具有标点符号属性的字符。

这等同于规则值 "punct"。

UCOL_REORDER_CODE_SPACE

具有空格属性的字符。

这等同于规则值 "space"。

UCOL_REORDER_CODE_SYMBOL

具有符号属性的字符。

这等同于规则值 "symbol"。

UCollationResult

声明于 unicode/ucol.h
 UCollationResult

如果在 ucol_strcoll() 方法中源字符串被比较为小于目标字符串,则返回 UCOL_LESS。

如果源字符串在 ucol_strcoll() 方法中比较等于目标字符串,则返回 UCOL_EQUAL。如果源字符串在 ucol_strcoll() 方法中比较大于目标字符串,则返回 UCOL_GREATER。另请参阅:ucol_strcoll() 比较结果的可能值

属性
UCOL_EQUAL

字符串 a == 字符串 b

UCOL_GREATER

字符串 a > 字符串 b

UCOL_LESS

字符串 a < 字符串 b

UDecompositionType

unicode/uchar.h 中声明
 UDecompositionType

分解类型常量。

另请参阅: UCHAR_DECOMPOSITION_TYPE

属性
U_DT_CANONICAL
U_DT_CIRCLE
U_DT_COMPAT
U_DT_COUNT

比最高的正常 UDecompositionType 值大一。

可通过 u_getIntPropertyMaxValue(UCHAR_DECOMPOSITION_TYPE) 获取最高值。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_DT_FINAL
U_DT_FONT
U_DT_FRACTION
U_DT_INITIAL
U_DT_ISOLATED
U_DT_MEDIAL
U_DT_NARROW
U_DT_NOBREAK
U_DT_NONE
U_DT_SMALL
U_DT_SQUARE
U_DT_SUB
U_DT_SUPER
U_DT_VERTICAL
U_DT_WIDE

UDialectHandling

声明于 unicode/uldnames.h
 UDialectHandling

LocaleDisplayNames::createInstance 中使用的枚举。

属性
ULDN_DIALECT_NAMES

生成区域设置名称时使用方言名称,例如:

en_GB 显示为“英式英语”。

ULDN_STANDARD_NAMES

生成区域设置名称时使用标准名称,例如:

en_GB 显示为“英语(英国)”。

UDisplayContext

声明于 unicode/udisplaycontext.h
 UDisplayContext

显示上下文设置。

请注意,具体的数值是内部的,可能会发生变化。

属性
UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE

如果日期、日期符号或显示名称的格式化应使用适用于句首的标题大小写,则使用此标题大小写上下文。

UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE

如果日期、日期符号或显示名称的格式化应使用适用于句中的标题大小写,则使用此标题大小写上下文。

UDISPCTX_CAPITALIZATION_FOR_STANDALONE

如果日期、日期符号或显示名称的格式化应使用适用于独立使用的标题大小写(例如日历页面上的独立名称),则使用此标题大小写上下文。

UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU

如果日期、日期符号或显示名称的格式化应使用适用于用户界面列表或菜单项的标题大小写,则使用此标题大小写上下文。

UDISPCTX_CAPITALIZATION_NONE


CAPITALIZATION 可以设置为以下值之一: UDISPCTX_CAPITALIZATION_NONE、 UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE、 UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE、 UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU 或 UDISPCTX_CAPITALIZATION_FOR_STANDALONE。

使用 UDisplayContextType UDISPCTX_TYPE_CAPITALIZATION 获取此值。要使用的标题大小写上下文未知(这是默认值)。

UDISPCTX_DIALECT_NAMES

DIALECT_HANDLING 的可能设置:生成区域设置名称时使用方言名称,例如:

en_GB 显示为“英式英语”。

UDISPCTX_LENGTH_FULL


DISPLAY_LENGTH 可以设置为以下值之一: UDISPCTX_LENGTH_FULL 或 UDISPCTX_LENGTH_SHORT。

使用 UDisplayContextType UDISPCTX_TYPE_DISPLAY_LENGTH 获取此值。DISPLAY_LENGTH 的可能设置:生成区域设置名称时使用全称,例如美国(US)的“United States”。

UDISPCTX_LENGTH_SHORT

DISPLAY_LENGTH 可能的一种设置:生成区域设置名称时使用短名称,例如

US 的“U.S.”。

UDISPCTX_NO_SUBSTITUTE

SUBSTITUTE_HANDLING 可能的一种设置:无可用数据时返回 null 值,错误代码设置为 U_ILLEGAL_ARGUMENT_ERROR。

UDISPCTX_STANDARD_NAMES


DIALECT_HANDLING 可以设置为 UDISPCTX_STANDARD_NAMES 或 UDISPCTX_DIALECT_NAMES 之一。

使用 UDisplayContextType UDISPCTX_TYPE_DIALECT_HANDLING 获取值。DIALECT_HANDLING 可能的一种设置:生成区域设置名称时使用标准名称,例如 en_GB 显示为“English (United Kingdom)”。

UDISPCTX_SUBSTITUTE


SUBSTITUTE_HANDLING 可以设置为 UDISPCTX_SUBSTITUTE 或 UDISPCTX_NO_SUBSTITUTE 之一。

使用 UDisplayContextType UDISPCTX_TYPE_SUBSTITUTE_HANDLING 获取值。SUBSTITUTE_HANDLING 可能的一种设置:无可用数据时返回备用值(例如,输入代码)。这是默认值。

UDisplayContextType

声明于 unicode/udisplaycontext.h
 UDisplayContextType

显示上下文类型,用于获取特定设置的值。

请注意,具体的数值是内部的,可能会发生变化。

属性
UDISPCTX_TYPE_CAPITALIZATION

用于检索大小写语境设置的类型,例如

UDISPCTX_CAPITALIZATION_NONE、UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE、UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE 等。

UDISPCTX_TYPE_DIALECT_HANDLING

用于检索方言处理设置的类型,例如

UDISPCTX_STANDARD_NAMES 或 UDISPCTX_DIALECT_NAMES。

UDISPCTX_TYPE_DISPLAY_LENGTH

用于检索显示长度设置的类型,例如

UDISPCTX_LENGTH_FULL、UDISPCTX_LENGTH_SHORT。

UDISPCTX_TYPE_SUBSTITUTE_HANDLING

用于检索替代处理设置的类型,例如

UDISPCTX_SUBSTITUTE、UDISPCTX_NO_SUBSTITUTE。

UEastAsianWidth

unicode/uchar.h 中声明
 UEastAsianWidth

东亚宽度常量。

另请参阅: UCHAR_EAST_ASIAN_WIDTH 另请参阅: u_getIntPropertyValue

属性
U_EA_AMBIGUOUS
U_EA_COUNT

比正常的 UEastAsianWidth 最高值大 1。

最高值可通过 u_getIntPropertyMaxValue(UCHAR_EAST_ASIAN_WIDTH) 获取。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_EA_FULLWIDTH
U_EA_HALFWIDTH
U_EA_NARROW
U_EA_NEUTRAL
U_EA_WIDE

UErrorCode

在 unicode/utypes.h 中声明
 UErrorCode

标准 ICU4C 错误代码类型,用于替代异常。

使用 U_ZERO_ERROR 初始化 UErrorCode,并使用 U_SUCCESS()U_FAILURE() 检查成功或失败

UErrorCode errorCode = U_ZERO_ERROR;
// call ICU API that needs an error code parameter.
if (U_FAILURE(errorCode)) {
    // An error occurred. Handle it here.
}

C++ 代码应使用 icu::ErrorCode,可在 unicode/errorcode.h 中找到,或使用合适的子类。

更多信息,请参阅:https://unicode-org.github.io/icu/userguide/dev/codingguidelines#details-about-icu-error-codes

注意:按照惯例,接受 UErrorCode 的引用 (C++) 或指针 (C) 的 ICU 函数会首先进行测试

if (U_FAILURE(errorCode)) { return immediately; }

这样,在此类函数的链中,第一个设置错误代码的函数会阻止后续函数执行任何操作。

属性
U_AMBIGUOUS_ALIAS_WARNING

此转换器别名可指向不同的转换器实现。

U_ARGUMENT_TYPE_MISMATCH

MessageFormat 函数中的参数名称与参数索引不匹配。

U_BAD_VARIABLE_DEFINITION

缺少“$”或变量名重复。

U_BRK_ASSIGN_ERROR

RBBI 规则赋值语句中的语法错误。

U_BRK_ERROR_LIMIT

比正常的 BreakIterator 最高错误代码大 1。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_BRK_ERROR_START

指示 Break Iterator 失败的代码的起始点。

U_BRK_HEX_DIGITS_EXPECTED

规则中转义字符的一部分应为十六进制数字。

U_BRK_INIT_ERROR

初始化失败。

可能缺少 ICU 数据。

U_BRK_INTERNAL_ERROR

检测到内部错误(bug)。

U_BRK_MALFORMED_RULE_TAG

规则上的 {nnn} 标签格式错误。

U_BRK_MISMATCHED_PAREN

RBBI 规则中的括号不匹配。

U_BRK_NEW_LINE_IN_QUOTED_STRING

RBBI 规则中缺少结束引号。

U_BRK_RULE_EMPTY_SET

规则包含空的 Unicode Set。

U_BRK_RULE_SYNTAX

RBBI 规则中的语法错误。

U_BRK_SEMICOLON_EXPECTED

RBBI 规则末尾缺少“;”。

U_BRK_UNCLOSED_SET

UnicodeSet 在编写 RBBI 规则时缺少结束方括号“]”。

U_BRK_UNDEFINED_VARIABLE

在 RBBI 规则中使用未定义的 $Variable。

U_BRK_UNRECOGNIZED_OPTION

RBBI 规则中的 !!option 无法识别。

U_BRK_VARIABLE_REDFINITION

RBBI 规则 $Variable 被重新定义。

U_BUFFER_OVERFLOW_ERROR

结果不适合提供的缓冲区。

U_CE_NOT_FOUND_ERROR

当前仅在设置变量 top 时使用,但可通用。

U_COLLATOR_VERSION_MISMATCH

排序器版本与基础版本不兼容。

U_DECIMAL_NUMBER_SYNTAX_ERROR

十进制数字语法错误。

U_DEFAULT_KEYWORD_MISSING

复数规则中缺少 DEFAULT 规则。

U_DIFFERENT_UCA_VERSION

ucol_open 遇到 UCA 版本和排序器映像版本不匹配,因此排序器是根据规则构建的。

对后续函数没有影响

U_DUPLICATE_KEYWORD

PluralFormat 中关键字重复。

U_ENUM_OUT_OF_SYNC_ERROR

UEnumeration 与底层集合不同步。

U_ERROR_LIMIT

比正常错误代码最高值大 1。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_ERROR_WARNING_LIMIT

比正常的 UErrorCode 警告最高值大 1。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_ERROR_WARNING_START

信息结果的起始点(语义上成功)

U_FILE_ACCESS_ERROR

未找到请求的文件。

U_FMT_PARSE_ERROR_LIMIT

比正常的格式化 API 最高错误代码大 1。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_FMT_PARSE_ERROR_START

格式库错误的起始点。

U_FORMAT_INEXACT_ERROR

无法精确格式化数字,且舍入模式为 ROUND_UNNECESSARY。

U_IDNA_ACE_PREFIX_ERROR
U_IDNA_CHECK_BIDI_ERROR
U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR
U_IDNA_ERROR_LIMIT

比正常的 IDNA 最高错误代码大 1。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_IDNA_ERROR_START
U_IDNA_LABEL_TOO_LONG_ERROR
U_IDNA_PROHIBITED_ERROR
U_IDNA_STD3_ASCII_RULES_ERROR
U_IDNA_UNASSIGNED_ERROR
U_IDNA_VERIFICATION_ERROR
U_IDNA_ZERO_LENGTH_LABEL_ERROR
U_ILLEGAL_ARGUMENT_ERROR

指示失败的代码的起始点。

U_ILLEGAL_CHARACTER

特殊字符超出其允许的上下文。

U_ILLEGAL_CHAR_FOUND

字符转换:输入序列/输入单元组合非法。

U_ILLEGAL_CHAR_IN_SEGMENT

从 ICU 2.4 起未使用。

U_ILLEGAL_ESCAPE_SEQUENCE

ISO-2022 非法转义序列。

U_ILLEGAL_PAD_POSITION

数字模式中填充符号放错位置。

U_INDEX_OUTOFBOUNDS_ERROR

尝试访问超出范围的索引。

U_INPUT_TOO_LONG_ERROR

输入对于操作来说太长,不切实际。

它被拒绝是因为可能导致处理时间过长、堆栈深度或堆内存需求过高等问题。

U_INTERNAL_PROGRAM_ERROR

指示库代码中存在 bug。

U_INTERNAL_TRANSLITERATOR_ERROR

内部 transliterator 系统错误。

U_INVALID_CHAR_FOUND

字符转换:无法映射的输入序列。

在其他 API 中:无效字符。

U_INVALID_FORMAT_ERROR

数据格式与预期不符。

U_INVALID_FUNCTION

“&fn()”规则指定了未知的 transliterator。

U_INVALID_ID

“::id”规则指定了未知的 transliterator。

U_INVALID_PROPERTY_PATTERN

从 ICU 2.4 起未使用。

U_INVALID_RBT_SYNTAX

“::id”规则被传递给 RuleBasedTransliterator 解析器。

U_INVALID_STATE_ERROR

在 ICU 当前状态下无法完成请求的操作。

U_INVALID_TABLE_FILE

未找到转换表文件。

U_INVALID_TABLE_FORMAT

找到转换表文件,但已损坏。

U_INVARIANT_CONVERSION_ERROR

无法使用不变转换器将 UChar* 字符串转换为 char*。

U_MALFORMED_EXPONENTIAL_PATTERN

指数模式中的分组符号。

U_MALFORMED_PRAGMA

'use' 编译指示无效。

U_MALFORMED_RULE

规则元素放错位置。

U_MALFORMED_SET

UnicodeSet 模式无效。

U_MALFORMED_SYMBOL_REFERENCE

从 ICU 2.4 起未使用。

U_MALFORMED_UNICODE_ESCAPE

Unicode 转义模式无效。

U_MALFORMED_VARIABLE_DEFINITION

变量定义无效。

U_MALFORMED_VARIABLE_REFERENCE

变量引用无效。

U_MEMORY_ALLOCATION_ERROR

内存分配错误。

U_MESSAGE_PARSE_ERROR

无法解析消息(消息格式)

U_MF_DUPLICATE_DECLARATION_ERROR

同一个变量在多个 .local 或 .input 声明中声明。

已弃用。 此 API 仅用于技术预览。

U_MF_DUPLICATE_OPTION_NAME_ERROR

在注释中,同一个选项名称出现不止一次。

此 API 仅供内部使用。ICU 75 技术预览 已弃用。 此 API 仅用于技术预览。

U_MF_DUPLICATE_VARIANT_ERROR

消息包含一个与另一个变体具有相同键列表的变体。

已弃用。 此 API 仅用于技术预览。

U_MF_FORMATTING_ERROR

包括所有运行时错误:例如,内部选项集不一致。

已弃用。 此 API 仅用于技术预览。

U_MF_MISSING_SELECTOR_ANNOTATION_ERROR

选择器表达式评估为未注释的操作数。

已弃用。 此 API 仅用于技术预览。

U_MF_NONEXHAUSTIVE_PATTERN_ERROR

在匹配结构中,变体不覆盖所有可能的值。

此 API 仅供内部使用。ICU 75 技术预览 已弃用。 此 API 仅用于技术预览。

U_MF_OPERAND_MISMATCH_ERROR

提供给函数的 operand 不具有该函数所需的格式。

此 API 仅供内部使用。ICU 75 技术预览 已弃用。 此 API 仅用于技术预览。

U_MF_SELECTOR_ERROR

选择器函数应用于错误类型的操作数。

此 API 仅供内部使用。ICU 75 技术预览 已弃用。 此 API 仅用于技术预览。

U_MF_SYNTAX_ERROR

包括所有语法错误。

此 API 仅供内部使用。ICU 75 技术预览 已弃用。 此 API 仅用于技术预览。

U_MF_UNKNOWN_FUNCTION_ERROR

注释引用了标准或自定义函数注册表中未定义的函数。

此 API 仅供内部使用。ICU 75 技术预览 已弃用。 此 API 仅用于技术预览。

U_MF_UNRESOLVED_VARIABLE_ERROR

引用了一个变量,但没有通过任何定义进行绑定。

此 API 仅供内部使用。ICU 75 技术预览 已弃用。 此 API 仅用于技术预览。

U_MF_VARIANT_KEY_MISMATCH_ERROR

在匹配结构中,一个或多个变体的键数与选择器数不同。

此 API 仅供内部使用。ICU 75 技术预览 已弃用。 此 API 仅用于技术预览。

U_MISMATCHED_SEGMENT_DELIMITERS

从 ICU 2.4 起未使用。

U_MISPLACED_ANCHOR_START

起始锚出现在非法位置。

U_MISPLACED_COMPOUND_FILTER

复合过滤器位于无效位置。

U_MISPLACED_CURSOR_OFFSET

光标偏移出现在非法位置。

U_MISPLACED_QUANTIFIER

量词出现在片段关闭分隔符之后。

U_MISSING_OPERATOR

规则不包含运算符。

U_MISSING_RESOURCE_ERROR

未找到请求的资源。

U_MISSING_SEGMENT_CLOSE

从 ICU 2.4 起未使用。

U_MULTIPLE_ANTE_CONTEXTS

多个前置语境。

U_MULTIPLE_COMPOUND_FILTERS

多个复合过滤器。

U_MULTIPLE_CURSORS

多个光标。

U_MULTIPLE_DECIMAL_SEPARATORS

数字模式中有多个小数点分隔符。

U_MULTIPLE_DECIMAL_SEPERATORS

拼写错误:为向后兼容保留。

使用 U_MULTIPLE_DECIMAL_SEPARATORS

U_MULTIPLE_EXPONENTIAL_SYMBOLS

数字模式中有多个指数符号。

U_MULTIPLE_PAD_SPECIFIERS

数字模式中有多个填充符号。

U_MULTIPLE_PERCENT_SYMBOLS

数字模式中有多个百分号。

U_MULTIPLE_PERMILL_SYMBOLS

数字模式中有多个千分号。

U_MULTIPLE_POST_CONTEXTS

多个后置语境。

U_NO_SPACE_AVAILABLE

阿拉伯语塑形时缓冲区内扩展空间不足。

U_NO_WRITE_PERMISSION

尝试修改只读或常量数据。

U_NUMBER_ARG_OUTOFBOUNDS_ERROR

NumberFormatter 助手方法的参数超出范围;范围通常为 0 到 999。

U_NUMBER_SKELETON_SYNTAX_ERROR

传递给 C++ NumberFormatter 或 C UNumberFormatter 的数字骨架无效或包含语法错误。

U_PARSE_ERROR

相当于 Java ParseException。

U_PARSE_ERROR_LIMIT

比正常的 Transliterator 最高错误代码大 1。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_PARSE_ERROR_START

Transliterator 错误的起始点。

U_PATTERN_SYNTAX_ERROR

格式模式中的语法错误。

U_PLUGIN_CHANGED_LEVEL_WARNING

插件导致级别变化。

可能不是错误,但后续插件可能无法加载。

U_PLUGIN_DIDNT_SET_LEVEL

插件在响应 QUERY 时未调用 uplug_setPlugLevel。

U_PLUGIN_ERROR_LIMIT

比正常的插件最高错误代码大 1。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_PLUGIN_ERROR_START

指示插件失败的代码的起始点。

U_PLUGIN_TOO_HIGH

插件的级别太高,目前无法加载。

U_PRIMARY_TOO_LONG_ERROR

用户试图将变量 top 设置为主键,该主键长度超过两个字节。

U_REGEX_BAD_ESCAPE_SEQUENCE

模式中无法识别的反斜杠转义序列。

U_REGEX_BAD_INTERVAL

{min,max} 区间错误。

U_REGEX_ERROR_LIMIT

比正常的正则表达式最高错误代码大 1。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_REGEX_ERROR_START

指示 Regexp 失败的代码的起始点。

U_REGEX_INTERNAL_ERROR

检测到内部错误(bug)。

U_REGEX_INVALID_BACK_REF

对不存在的捕获组的反向引用。

U_REGEX_INVALID_CAPTURE_GROUP_NAME

无效的捕获组名称。

U_REGEX_INVALID_FLAG

匹配模式标志的无效值。

U_REGEX_INVALID_RANGE

在字符范围 [x-y] 中,x 大于 y。

U_REGEX_INVALID_STATE

RegexMatcher 对于请求的操作处于无效状态。

U_REGEX_LOOK_BEHIND_LIMIT

Look-Behind 模式匹配必须具有有限的最大长度。

U_REGEX_MAX_LT_MIN

在 {min,max} 中,max 小于 min。

U_REGEX_MISMATCHED_PAREN

正则表达式模式中括号嵌套错误。

U_REGEX_MISSING_CLOSE_BRACKET

括号表达式缺少结束方括号。

U_REGEX_NUMBER_TOO_BIG

十进制数字太大。

U_REGEX_OCTAL_TOO_BIG

八进制字符常量必须 <= 0377。

已弃用。 ICU 54。此错误不会发生。

U_REGEX_PATTERN_TOO_BIG

模式超出大小或复杂性限制。

U_REGEX_PROPERTY_SYNTAX

不正确的 Unicode 属性。

U_REGEX_RULE_SYNTAX

正则表达式模式中的语法错误。

U_REGEX_SET_CONTAINS_STRING

Regexps 不能包含带有字符串的 UnicodeSets。

U_REGEX_STACK_OVERFLOW

正则表达式回溯堆栈溢出。

U_REGEX_STOPPED_BY_CALLER

用户回调函数中止匹配操作。

U_REGEX_TIME_OUT

超过允许的最大匹配时间。

U_REGEX_UNIMPLEMENTED

使用了尚未实现的 regexp 功能。

U_RESOURCE_TYPE_MISMATCH

对不支持该操作的资源请求操作

U_RULE_MASK_ERROR

规则被先前更通用的规则隐藏。

U_SAFECLONE_ALLOCATED_WARNING

SafeClone 操作需要分配内存(仅供参考)

U_SORT_KEY_TOO_SHORT_WARNING

在 getBound 中请求的级别数高于排序键中的级别数。

U_STANDARD_ERROR_LIMIT

比标准错误代码最高值大 1。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_STATE_OLD_WARNING

ICU 必须使用兼容层来构建服务。

预计性能/内存使用会下降。请考虑升级

U_STATE_TOO_OLD_ERROR

ICU 无法从该状态构建服务,因为它不再受支持。

U_STRINGPREP_CHECK_BIDI_ERROR
U_STRINGPREP_PROHIBITED_ERROR
U_STRINGPREP_UNASSIGNED_ERROR
U_STRING_NOT_TERMINATED_WARNING

输出字符串无法以 NUL 结尾,因为输出长度 == destCapacity。

U_TOO_MANY_ALIASES_ERROR

请求资源的路径中有太多别名。

很可能发生了循环别名定义

U_TRAILING_BACKSLASH

悬空的反斜杠。

U_TRUNCATED_CHAR_FOUND

字符转换:不完整的输入序列。

U_UNCLOSED_SEGMENT

缺少一个结束的“)”。

U_UNDEFINED_KEYWORD

未定义的复数关键字。

U_UNDEFINED_SEGMENT_REFERENCE

片段引用与定义的片段不对应。

U_UNDEFINED_VARIABLE

变量引用与定义的变量不对应。

U_UNEXPECTED_TOKEN

格式模式中的语法错误。

U_UNMATCHED_BRACES

消息模式中的大括号不匹配。

U_UNQUOTED_SPECIAL

特殊字符未加引号或转义。

U_UNSUPPORTED_ATTRIBUTE

从 ICU 2.4 起未使用。

U_UNSUPPORTED_ERROR

当前上下文不支持请求的操作。

U_UNSUPPORTED_ESCAPE_SEQUENCE

ISO-2022 不支持的转义序列。

U_UNSUPPORTED_PROPERTY

从 ICU 2.4 起未使用。

U_UNTERMINATED_QUOTE

缺少一个结束的单引号。

U_USELESS_COLLATOR_ERROR

排序器只有选项,未指定基础。

U_USING_DEFAULT_WARNING

资源包查找返回了来自根区域设置的结果(不是错误)

U_USING_FALLBACK_WARNING

资源包查找返回了备用结果(不是错误)

U_VARIABLE_RANGE_EXHAUSTED

给定变量范围生成了太多替身。

U_VARIABLE_RANGE_OVERLAP

变量范围与规则中使用的字符重叠。

U_ZERO_ERROR

无错误,无警告。

UGraphemeClusterBreak

unicode/uchar.h 中声明
 UGraphemeClusterBreak

字形簇边界常量。

另请参阅: UCHAR_GRAPHEME_CLUSTER_BREAK

属性
U_GCB_CONTROL
U_GCB_COUNT

比正常的 UGraphemeClusterBreak 最高值大 1。

最高值可通过 u_getIntPropertyMaxValue(UCHAR_GRAPHEME_CLUSTER_BREAK) 获取。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_GCB_CR
U_GCB_EXTEND
U_GCB_E_BASE

U_GCB_E_BASE_GAZ

U_GCB_E_MODIFIER

U_GCB_GLUE_AFTER_ZWJ

U_GCB_L
U_GCB_LF
U_GCB_LV
U_GCB_LVT
U_GCB_OTHER
U_GCB_PREPEND

U_GCB_REGIONAL_INDICATOR

U_GCB_SPACING_MARK

U_GCB_T
U_GCB_V
U_GCB_ZWJ

UHangulSyllableType

unicode/uchar.h 中声明
 UHangulSyllableType

韩语音节类型常量。

另请参阅: UCHAR_HANGUL_SYLLABLE_TYPE

属性
U_HST_COUNT

比正常的 UHangulSyllableType 最高值大 1。

最高值可通过 u_getIntPropertyMaxValue(UCHAR_HANGUL_SYLLABLE_TYPE) 获取。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_HST_LEADING_JAMO
U_HST_LVT_SYLLABLE
U_HST_LV_SYLLABLE
U_HST_NOT_APPLICABLE
U_HST_TRAILING_JAMO
U_HST_VOWEL_JAMO

UIdentifierStatus

unicode/uchar.h 中声明
 UIdentifierStatus

UIndicConjunctBreak

unicode/uchar.h 中声明
 UIndicConjunctBreak

印度语连字边界常量。

另请参阅: UCHAR_INDIC_CONJUNCT_BREAK

属性
U_INCB_CONSONANT

U_INCB_EXTEND

U_INCB_LINKER

U_INCB_NONE

UJoiningGroup

unicode/uchar.h 中声明
 UJoiningGroup

连接组常量。

另请参阅: UCHAR_JOINING_GROUP

属性
U_JG_AFRICAN_FEH

U_JG_AFRICAN_NOON

U_JG_AFRICAN_QAF

U_JG_AIN
U_JG_ALAPH
U_JG_ALEF
U_JG_BEH
U_JG_BETH
U_JG_BURUSHASKI_YEH_BARREE

U_JG_COUNT

比最高正常 UJoiningGroup 值大一。

可通过 u_getIntPropertyMaxValue(UCHAR_JOINING_GROUP) 获取最高值。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_JG_DAL
U_JG_DALATH_RISH
U_JG_E
U_JG_FARSI_YEH

U_JG_FE

U_JG_FEH
U_JG_FINAL_SEMKATH
U_JG_GAF
U_JG_GAMAL
U_JG_HAH
U_JG_HAMZA_ON_HEH_GOAL
U_JG_HANIFI_ROHINGYA_KINNA_YA

U_JG_HANIFI_ROHINGYA_PA

U_JG_HE
U_JG_HEH
U_JG_HEH_GOAL
U_JG_HETH
U_JG_KAF
U_JG_KAPH
U_JG_KASHMIRI_YEH

U_JG_KHAPH

U_JG_KNOTTED_HEH
U_JG_LAM
U_JG_LAMADH
U_JG_MALAYALAM_BHA

U_JG_MALAYALAM_JA

U_JG_MALAYALAM_LLA

U_JG_MALAYALAM_LLLA

U_JG_MALAYALAM_NGA

U_JG_MALAYALAM_NNA

U_JG_MALAYALAM_NNNA

U_JG_MALAYALAM_NYA

U_JG_MALAYALAM_RA

U_JG_MALAYALAM_SSA

U_JG_MALAYALAM_TTA

U_JG_MANICHAEAN_ALEPH

U_JG_MANICHAEAN_AYIN

U_JG_MANICHAEAN_BETH

U_JG_MANICHAEAN_DALETH

U_JG_MANICHAEAN_DHAMEDH

U_JG_MANICHAEAN_FIVE

U_JG_MANICHAEAN_GIMEL

U_JG_MANICHAEAN_HETH

U_JG_MANICHAEAN_HUNDRED

U_JG_MANICHAEAN_KAPH

U_JG_MANICHAEAN_LAMEDH

U_JG_MANICHAEAN_MEM

U_JG_MANICHAEAN_NUN

U_JG_MANICHAEAN_ONE

U_JG_MANICHAEAN_PE

U_JG_MANICHAEAN_QOPH

U_JG_MANICHAEAN_RESH

U_JG_MANICHAEAN_SADHE

U_JG_MANICHAEAN_SAMEKH

U_JG_MANICHAEAN_TAW

U_JG_MANICHAEAN_TEN

U_JG_MANICHAEAN_TETH

U_JG_MANICHAEAN_THAMEDH

U_JG_MANICHAEAN_TWENTY

U_JG_MANICHAEAN_WAW

U_JG_MANICHAEAN_YODH

U_JG_MANICHAEAN_ZAYIN

U_JG_MEEM
U_JG_MIM
U_JG_NOON
U_JG_NO_JOINING_GROUP
U_JG_NUN
U_JG_NYA

U_JG_PE
U_JG_QAF
U_JG_QAPH
U_JG_REH
U_JG_REVERSED_PE
U_JG_ROHINGYA_YEH

U_JG_SAD
U_JG_SADHE
U_JG_SEEN
U_JG_SEMKATH
U_JG_SHIN
U_JG_STRAIGHT_WAW

U_JG_SWASH_KAF
U_JG_SYRIAC_WAW
U_JG_TAH
U_JG_TAW
U_JG_TEH_MARBUTA
U_JG_TEH_MARBUTA_GOAL

U_JG_TETH
U_JG_THIN_YEH

U_JG_VERTICAL_TAIL

U_JG_WAW
U_JG_YEH
U_JG_YEH_BARREE
U_JG_YEH_WITH_TAIL
U_JG_YUDH
U_JG_YUDH_HE
U_JG_ZAIN
U_JG_ZHAIN

UJoiningType

unicode/uchar.h 中声明
 UJoiningType

连接类型常量。

另请参阅: UCHAR_JOINING_TYPE

属性
U_JT_COUNT

比最高正常 UJoiningType 值大一。

可通过 u_getIntPropertyMaxValue(UCHAR_JOINING_TYPE) 获取最高值。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_JT_DUAL_JOINING
U_JT_JOIN_CAUSING
U_JT_LEFT_JOINING
U_JT_NON_JOINING
U_JT_RIGHT_JOINING
U_JT_TRANSPARENT

ULayoutType

unicode/uloc.h 中声明
 ULayoutType

用于字符和行方向函数返回值的枚举。

属性
ULOC_LAYOUT_BTT
ULOC_LAYOUT_LTR
ULOC_LAYOUT_RTL
ULOC_LAYOUT_TTB
ULOC_LAYOUT_UNKNOWN

ULineBreakTag

声明于 unicode/ubrk.h
 ULineBreakTag

getRuleStatus() 返回的换行符标签的枚举常量。

为每个单词类别定义了一个值范围,以便在未来版本中对类别进行进一步细分。应用程序应检查落在范围内的标签值,而不是单个值。

所有这些常量的值都是稳定的(不会改变)。

属性
UBRK_LINE_HARD

硬换行符或强制换行符的标签值。

UBRK_LINE_HARD_LIMIT

硬换行符的上限。

UBRK_LINE_SOFT

软换行符的标签值,即允许但不强制换行的位置。

UBRK_LINE_SOFT_LIMIT

软换行符的上限。

ULocAvailableType

unicode/uloc.h 中声明
 ULocAvailableType

uloc_getAvailableByType 和 uloc_countAvailableByType 的类型。

属性
ULOC_AVAILABLE_COUNT

此 API 仅供内部使用。

ULOC_AVAILABLE_DEFAULT

传递给 ICU API 时返回数据的区域设置,但不包括旧版或别名区域设置。

ULOC_AVAILABLE_ONLY_LEGACY_ALIASES

传递给 ICU API 时返回数据的旧版或别名区域设置。

支持的旧版或别名区域设置示例

  • iw (he 的别名)
  • mo (ro 的别名)
  • zh_CN (zh_Hans_CN 的别名)
  • sr_BA (sr_Cyrl_BA 的别名)
  • ars (ar_SA 的别名)

此集合中的区域设置与 ULOC_AVAILABLE_DEFAULT 中的区域设置不相交。要同时获取这两个集合,请使用 ULOC_AVAILABLE_WITH_LEGACY_ALIASES。

ULOC_AVAILABLE_WITH_LEGACY_ALIASES

ULOC_AVAILABLE_DEFAULT 和 ULOC_AVAILABLE_ONLY_LEGACY_ALIAS 中区域设置的并集。

ULocDataLocaleType

unicode/uloc.h 中声明
 ULocDataLocaleType

*_getLocale() 的常量,允许用户选择是获取请求的、有效的还是实际的区域设置信息。

例如,请求了“en_US_CALIFORNIA”的排序规则。在 ICU 当前状态 (2.0) 下,请求的区域设置是“en_US_CALIFORNIA”,有效区域设置是“en_US”(ICU 支持的最具体的区域设置),而实际区域设置是“root”(排序规则数据直接来自 UCA,未修改)。如果存在该区域设置的核心 ICU 包(尽管可能为空),则该区域设置被视为受 ICU 支持。

属性
ULOC_ACTUAL_LOCALE

这是数据实际来源的区域设置。

ULOC_DATA_LOCALE_TYPE_LIMIT

比最高正常 ULocDataLocaleType 值大一。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

ULOC_REQUESTED_LOCALE

这是请求的区域设置。

已弃用。 ICU 2.8

ULOC_VALID_LOCALE

这是 ICU 支持的最具体的区域设置。

UNormalization2Mode

声明于 unicode/unorm2.h
 UNormalization2Mode

规范化模式常量。

有关标准 Unicode 规范化形式以及与自定义映射表一起使用的算法的详细信息,请参阅 http://www.unicode.org/unicode/reports/tr15/

属性
UNORM2_COMPOSE

分解后进行组合。

使用“nfc”实例时与标准 NFC 相同。使用“nfkc”实例时与标准 NFKC 相同。有关标准 Unicode 规范化形式的详细信息,请参阅 http://www.unicode.org/unicode/reports/tr15/

UNORM2_COMPOSE_CONTIGUOUS

仅连续组合。

也称为“FCC”或“快速 C 连续”。结果通常(但不总是)为 NFC 形式。结果将符合 FCD,这对于处理非常有用。不是标准的 Unicode 规范化形式。不是唯一的形式:不同的 FCD 字符串可以规范等效。有关详细信息,请参阅 http://www.unicode.org/notes/tn5/#FCC

UNORM2_DECOMPOSE

映射并规范重排。

使用“nfc”实例时与标准 NFD 相同。使用“nfkc”实例时与标准 NFKD 相同。有关标准 Unicode 规范化形式的详细信息,请参阅 http://www.unicode.org/unicode/reports/tr15/

UNORM2_FCD

“快速 C 或 D”形式。

如果字符串采用此形式,则进一步的无重排分解将产生与 DECOMPOSE 相同的形式。采用“快速 C 或 D”形式的文本可以使用“规范闭合”的数据表高效处理,即,这些表为等效文本提供等效数据,而无需完全规范化。不是标准的 Unicode 规范化形式。不是唯一的形式:不同的 FCD 字符串可以规范等效。有关详细信息,请参阅 http://www.unicode.org/notes/tn5/#FCD

UNormalizationCheckResult

声明于 unicode/unorm2.h
 UNormalizationCheckResult

规范化快速检查函数的结果值。

有关详细信息,请参阅 http://www.unicode.org/reports/tr15/#Detecting_Normalization_Forms

属性
UNORM_MAYBE

输入字符串可能处于也可能不处于规范化形式。

仅在找到需要进一步分析周围文本的向后组合字符时,才会为 NFC 和 FCC 等组合形式返回此值。

UNORM_NO

输入字符串不处于规范化形式。

UNORM_YES

输入字符串处于规范化形式。

UNumericType

unicode/uchar.h 中声明
 UNumericType

数字类型常量。

另请参阅: UCHAR_NUMERIC_TYPE

属性
U_NT_COUNT

比最高正常 UNumericType 值大一。

可通过 u_getIntPropertyMaxValue(UCHAR_NUMERIC_TYPE) 获取最高值。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_NT_DECIMAL
U_NT_DIGIT
U_NT_NONE
U_NT_NUMERIC

UProperty

unicode/uchar.h 中声明
 UProperty

Unicode 属性的选择常量。

这些常量用于 u_hasBinaryProperty 等函数中,以选择其中一个 Unicode 属性。

属性 API 旨在反映 Unicode 字符数据库 (UCD) 和 Unicode 技术报告 (UTR) 中定义的 Unicode 属性。

有关属性的详细信息,请参阅 UAX #44:Unicode 字符数据库 (http://www.unicode.org/reports/tr44/)。

重要提示:如果 ICU 使用低于 Unicode 版本(例如 3.2)的 UCD 文件构建,则标有“Unicode 3.2 中的新增属性”的属性不可用或未完全可用。请检查 u_getUnicodeVersion 以确保。

另请参阅: u_hasBinaryProperty 另请参阅: u_getIntPropertyValue 另请参阅: u_getUnicodeVersion

属性
UCHAR_AGE

字符串属性 Age。

对应于 u_charAge。

UCHAR_ALPHABETIC

二进制属性 Alphabetic。

与 u_isUAlphabetic 相同,但与 u_isalpha 不同。Lu+Ll+Lt+Lm+Lo+Nl+Other_Alphabetic

UCHAR_ASCII_HEX_DIGIT

二进制属性 ASCII_Hex_Digit。

0-9 A-F a-f

UCHAR_BASIC_EMOJI

字符串的二进制属性 Basic_Emoji。

另请参阅 https://www.unicode.org/reports/tr51/#Emoji_Sets

UCHAR_BIDI_CLASS

枚举属性 Bidi_Class。

与 u_charDirection 相同,返回 UCharDirection 值。

UCHAR_BIDI_CONTROL

二进制属性 Bidi_Control。

在双向算法中具有特定功能的格式控制字符。

UCHAR_BIDI_MIRRORED

二进制属性 Bidi_Mirrored。

在 RTL 文本中可能改变显示的字符。与 u_isMirrored 相同。请参阅双向算法,UTR 9。

UCHAR_BIDI_MIRRORING_GLYPH

字符串属性 Bidi_Mirroring_Glyph。

对应于 u_charMirror。

UCHAR_BIDI_PAIRED_BRACKET

字符串属性 Bidi_Paired_Bracket(Unicode 6.3 新增)。

对应于 u_getBidiPairedBracket。

UCHAR_BIDI_PAIRED_BRACKET_TYPE

枚举属性 Bidi_Paired_Bracket_Type(Unicode 6.3 新增)。

用于 UAX #9:Unicode 双向算法 (http://www.unicode.org/reports/tr9/) 返回 UBidiPairedBracketType 值。

UCHAR_BINARY_LIMIT

比最后一个二进制 Unicode 属性常量大一。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UCHAR_BINARY_START

第一个二进制 Unicode 属性常量。

UCHAR_BLOCK

枚举属性 Block。

与 ublock_getCode 相同,返回 UBlockCode 值。

UCHAR_CANONICAL_COMBINING_CLASS

枚举属性 Canonical_Combining_Class。

与 u_getCombiningClass 相同,返回 8 位数值。

UCHAR_CASED

二进制属性 Cased。

适用于小写、大写和标题大小写字符。

UCHAR_CASE_FOLDING

字符串属性 Case_Folding。

对应于 ustring.h 中的 u_strFoldCase。

UCHAR_CASE_IGNORABLE

二进制属性 Case_Ignorable。

用于上下文敏感的大小写映射。

UCHAR_CASE_SENSITIVE

二进制属性 Case_Sensitive。

是大小写映射的源或目标。与通用类别 Cased_Letter 不同。

UCHAR_CHANGES_WHEN_CASEFOLDED

二进制属性 Changes_When_Casefolded。

UCHAR_CHANGES_WHEN_CASEMAPPED

二进制属性 Changes_When_Casemapped。

UCHAR_CHANGES_WHEN_LOWERCASED

二进制属性 Changes_When_Lowercased。

UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED

二进制属性 Changes_When_NFKC_Casefolded。

UCHAR_CHANGES_WHEN_TITLECASED

二进制属性 Changes_When_Titlecased。

UCHAR_CHANGES_WHEN_UPPERCASED

二进制属性 Changes_When_Uppercased。

UCHAR_DASH

二进制属性 Dash。

各种破折号。

UCHAR_DECOMPOSITION_TYPE

枚举属性 Decomposition_Type。

返回 UDecompositionType 值。

UCHAR_DEFAULT_IGNORABLE_CODE_POINT

二进制属性 Default_Ignorable_Code_Point(Unicode 3.2 新增)。

在大多数处理中可忽略。[0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ

UCHAR_DEPRECATED

二进制属性 Deprecated(Unicode 3.2 新增)。

强烈不鼓励使用已弃用字符。

UCHAR_DIACRITIC

二进制属性 Diacritic。

在语言学上修改其所应用的另一个字符含义的字符。

UCHAR_DOUBLE_LIMIT

比最后一个双精度 Unicode 属性常量大一。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UCHAR_DOUBLE_START

第一个双精度 Unicode 属性常量。

UCHAR_EAST_ASIAN_WIDTH

枚举属性 East_Asian_Width。

另请参阅 http://www.unicode.org/reports/tr11/ 返回 UEastAsianWidth 值。

UCHAR_EMOJI

二进制属性 Emoji。

另请参阅 http://www.unicode.org/reports/tr51/#Emoji_Properties

UCHAR_EMOJI_COMPONENT

二进制属性 Emoji_Component。

另请参阅 http://www.unicode.org/reports/tr51/#Emoji_Properties

UCHAR_EMOJI_KEYCAP_SEQUENCE

字符串的二进制属性 Emoji_Keycap_Sequence。

另请参阅 https://www.unicode.org/reports/tr51/#Emoji_Sets

UCHAR_EMOJI_MODIFIER

二进制属性 Emoji_Modifier。

另请参阅 http://www.unicode.org/reports/tr51/#Emoji_Properties

UCHAR_EMOJI_MODIFIER_BASE

二进制属性 Emoji_Modifier_Base。

另请参阅 http://www.unicode.org/reports/tr51/#Emoji_Properties

UCHAR_EMOJI_PRESENTATION

二进制属性 Emoji_Presentation。

另请参阅 http://www.unicode.org/reports/tr51/#Emoji_Properties

UCHAR_EXTENDED_PICTOGRAPHIC

二进制属性 Extended_Pictographic。

另请参阅 http://www.unicode.org/reports/tr51/#Emoji_Properties

UCHAR_EXTENDER

二进制属性 Extender。

扩展前面字母字符的值或形状,例如,长度和迭代标记。

UCHAR_FULL_COMPOSITION_EXCLUSION

二进制属性 Full_Composition_Exclusion。

CompositionExclusions.txt+Singleton Decompositions+ Non-Starter Decompositions。

UCHAR_GENERAL_CATEGORY

枚举属性 General_Category。

与 u_charType 相同,返回 UCharCategory 值。

UCHAR_GENERAL_CATEGORY_MASK

位掩码属性 General_Category_Mask。

这是作为位掩码返回的 General_Category 属性。在 u_getIntPropertyValue(c) 中使用时,与 U_MASK(u_charType(c)) 相同,返回 UCharCategory 值的位掩码,其中仅设置一位。与 u_getPropertyValueName()u_getPropertyValueEnum() 一起使用时,多位掩码用于类别集合,如“Letters”。掩码值应强制转换为 uint32_t。

UCHAR_GRAPHEME_BASE

二进制属性 Grapheme_Base(Unicode 3.2 新增)。

用于程序确定字素簇边界。[0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ

UCHAR_GRAPHEME_CLUSTER_BREAK

枚举属性 Grapheme_Cluster_Break(Unicode 4.1 新增)。

用于 UAX #29:文本边界 (http://www.unicode.org/reports/tr29/) 返回 UGraphemeClusterBreak 值。

UCHAR_GRAPHEME_EXTEND

二进制属性 Grapheme_Extend(Unicode 3.2 新增)。

用于程序确定字素簇边界。Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link-CGJ

UCHAR_GRAPHEME_LINK

二进制属性 Grapheme_Link(Unicode 3.2 新增)。

用于程序确定字素簇边界。

UCHAR_HANGUL_SYLLABLE_TYPE

枚举属性 Hangul_Syllable_Type,Unicode 4 新增。

返回 UHangulSyllableType 值。

UCHAR_HEX_DIGIT

二进制属性 Hex_Digit。

通常用于十六进制数字的字符。

UCHAR_HYPHEN

二进制属性 Hyphen。

用于标记单词片段之间连接的破折号,以及片假名中点。

UCHAR_IDENTIFIER_STATUS

枚举属性 Identifier_Status。

用于 UTS #39 标识符通用安全配置文件 (UTS #39 General Security Profile for Identifiers) (https://www.unicode.org/reports/tr39/#General_Security_Profile)。

UCHAR_IDENTIFIER_TYPE

杂项属性 Identifier_Type。

用于 UTS #39 标识符通用安全配置文件 (UTS #39 General Security Profile for Identifiers) (https://www.unicode.org/reports/tr39/#General_Security_Profile)。

对应于 u_hasIDType() 和 u_getIDTypes()。

每个代码点映射到一组 UIdentifierType 值。

另请参阅:u_hasIDType 另请参阅:u_getIDTypes

UCHAR_IDEOGRAPHIC

二进制属性 Ideographic。

CJKV 表意文字。

UCHAR_IDS_BINARY_OPERATOR

二进制属性 IDS_Binary_Operator(Unicode 3.2 中新增)。

用于程序化确定表意描述序列。

UCHAR_IDS_TRINARY_OPERATOR

二进制属性 IDS_Trinary_Operator(Unicode 3.2 中新增)。

用于程序化确定表意描述序列。

UCHAR_IDS_UNARY_OPERATOR

二进制属性 IDS_Unary_Operator。

用于程序化确定表意描述序列。

UCHAR_ID_COMPAT_MATH_CONTINUE

二进制属性 ID_Compat_Math_Continue。

用于 UAX #31 中的数学标识符配置文件。

UCHAR_ID_COMPAT_MATH_START

二进制属性 ID_Compat_Math_Start。

用于 UAX #31 中的数学标识符配置文件。

UCHAR_ID_CONTINUE

二进制属性 ID_Continue。

可以继续标识符的字符。DerivedCoreProperties.txt 中也提到“注意:Cf 字符应被过滤掉。” ID_Start+Mn+Mc+Nd+Pc

UCHAR_ID_START

二进制属性 ID_Start。

可以开始标识符的字符。Lu+Ll+Lt+Lm+Lo+Nl

UCHAR_INDIC_CONJUNCT_BREAK

枚举属性 Indic_Conjunct_Break。

用于 UAX #29 中的字形簇断行算法。

UCHAR_INDIC_POSITIONAL_CATEGORY

枚举属性 Indic_Positional_Category。

作为临时属性 Indic_Matra_Category 新增于 Unicode 6.0;在 Unicode 8.0 中重命名并更改为信息性属性。请参阅 http://www.unicode.org/reports/tr44/#IndicPositionalCategory.txt

UCHAR_INDIC_SYLLABIC_CATEGORY

枚举属性 Indic_Syllabic_Category。

作为临时属性新增于 Unicode 6.0;自 Unicode 8.0 起为信息性属性。请参阅 http://www.unicode.org/reports/tr44/#IndicSyllabicCategory.txt

UCHAR_INT_LIMIT

比枚举/整数 Unicode 属性的最后一个常量大一的值。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UCHAR_INT_START

枚举/整数 Unicode 属性的第一个常量。

UCHAR_INVALID_CODE

表示不存在或无效的属性或属性值。

UCHAR_ISO_COMMENT

已弃用的字符串属性 ISO_Comment。

对应于 u_getISOComment。 已弃用。 ICU 49

UCHAR_JOINING_GROUP

枚举属性 Joining_Group。

返回 UJoiningGroup 值。

UCHAR_JOINING_TYPE

枚举属性 Joining_Type。

返回 UJoiningType 值。

UCHAR_JOIN_CONTROL

二进制属性 Join_Control。

用于草书连写和连字的格式控制字符。

UCHAR_LEAD_CANONICAL_COMBINING_CLASS

枚举属性 Lead_Canonical_Combining_Class。

ICU 特有属性,表示分解后的第一个代码点的 ccc,即 lccc(c)=ccc(NFD(c)[0])。用于检查规范顺序文本;请参阅 UNORM_FCD 和 http://www.unicode.org/notes/tn5/#FCD。返回 8 位数值,如 UCHAR_CANONICAL_COMBINING_CLASS。

UCHAR_LINE_BREAK

枚举属性 Line_Break。

返回 ULineBreak 值。

UCHAR_LOGICAL_ORDER_EXCEPTION

二进制属性 Logical_Order_Exception(Unicode 3.2 中新增)。

不使用逻辑顺序且在大多数处理中需要特殊处理的字符。

UCHAR_LOWERCASE

二进制属性 Lowercase。

与 u_isULowercase 相同,与 u_islower 不同。Ll+Other_Lowercase

UCHAR_LOWERCASE_MAPPING

字符串属性 Lowercase_Mapping。

对应于 ustring.h 中的 u_strToLower。

UCHAR_MASK_LIMIT

比位掩码 Unicode 属性的最后一个常量大一的值。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UCHAR_MASK_START

位掩码 Unicode 属性的第一个常量。

UCHAR_MATH

二进制属性 Math。

Sm+Other_Math

UCHAR_MODIFIER_COMBINING_MARK

二进制属性 Modifier_Combining_Mark。

用于 UAX #53 中的 AMTRA 算法。

UCHAR_NAME

字符串属性 Name。

对应于 u_charName。

UCHAR_NFC_INERT

二进制属性 NFC_Inert。

ICU 特有属性,表示在 NFC 下惰性的字符,即它们不与相邻字符交互。请参阅 Normalizer2 类和 Normalizer2::isInert() 方法的文档。

UCHAR_NFC_QUICK_CHECK

枚举属性 NFC_Quick_Check。

返回 UNormalizationCheckResult 值。

UCHAR_NFD_INERT

二进制属性 NFD_Inert。

ICU 特有属性,表示在 NFD 下惰性的字符,即它们不与相邻字符交互。请参阅 Normalizer2 类和 Normalizer2::isInert() 方法的文档。

UCHAR_NFD_QUICK_CHECK

枚举属性 NFD_Quick_Check。

返回 UNormalizationCheckResult 值。

UCHAR_NFKC_INERT

二进制属性 NFKC_Inert。

ICU 特有属性,表示在 NFKC 下惰性的字符,即它们不与相邻字符交互。请参阅 Normalizer2 类和 Normalizer2::isInert() 方法的文档。

UCHAR_NFKC_QUICK_CHECK

枚举属性 NFKC_Quick_Check。

返回 UNormalizationCheckResult 值。

UCHAR_NFKD_INERT

二进制属性 NFKD_Inert。

ICU 特有属性,表示在 NFKD 下惰性的字符,即它们不与相邻字符交互。请参阅 Normalizer2 类和 Normalizer2::isInert() 方法的文档。

UCHAR_NFKD_QUICK_CHECK

枚举属性 NFKD_Quick_Check。

返回 UNormalizationCheckResult 值。

UCHAR_NONCHARACTER_CODE_POINT

二进制属性 Noncharacter_Code_Point。

明确定义为字符编码非法使用的代码点。

UCHAR_NUMERIC_TYPE

枚举属性 Numeric_Type。

返回 UNumericType 值。

UCHAR_NUMERIC_VALUE

双精度属性 Numeric_Value。

对应于 u_getNumericValue。

UCHAR_OTHER_PROPERTY_LIMIT

比值类型不寻常的 Unicode 属性的最后一个常量大一的值。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UCHAR_OTHER_PROPERTY_START

值类型不寻常的 Unicode 属性的第一个常量。

UCHAR_PATTERN_SYNTAX

二进制属性 Pattern_Syntax(Unicode 4.1 中新增)。

请参阅 UAX #31 标识符和模式语法 (http://www.unicode.org/reports/tr31/)

UCHAR_PATTERN_WHITE_SPACE

二进制属性 Pattern_White_Space(Unicode 4.1 中新增)。

请参阅 UAX #31 标识符和模式语法 (http://www.unicode.org/reports/tr31/)

UCHAR_POSIX_ALNUM

二进制属性 alnum(一个 C/POSIX 字符类别)。

根据 UTS #18 附录 C 标准建议实现。请参阅 uchar.h 文件文档。

UCHAR_POSIX_BLANK

二进制属性 blank(一个 C/POSIX 字符类别)。

根据 UTS #18 附录 C 标准建议实现。请参阅 uchar.h 文件文档。

UCHAR_POSIX_GRAPH

二进制属性 graph(一个 C/POSIX 字符类别)。

根据 UTS #18 附录 C 标准建议实现。请参阅 uchar.h 文件文档。

UCHAR_POSIX_PRINT

二进制属性 print(一个 C/POSIX 字符类别)。

根据 UTS #18 附录 C 标准建议实现。请参阅 uchar.h 文件文档。

UCHAR_POSIX_XDIGIT

二进制属性 xdigit(一个 C/POSIX 字符类别)。

根据 UTS #18 附录 C 标准建议实现。请参阅 uchar.h 文件文档。

UCHAR_PREPENDED_CONCATENATION_MARK

二进制属性 Prepended_Concatenation_Mark。

UCHAR_QUOTATION_MARK

二进制属性 Quotation_Mark。

UCHAR_RADICAL

二进制属性 Radical(Unicode 3.2 中新增)。

用于程序化确定表意描述序列。

UCHAR_REGIONAL_INDICATOR

二进制属性 Regional_Indicator。

UCHAR_RGI_EMOJI

字符串的二进制属性 RGI_Emoji。

另请参阅 https://www.unicode.org/reports/tr51/#Emoji_Sets

UCHAR_RGI_EMOJI_FLAG_SEQUENCE

字符串的二进制属性 RGI_Emoji_Flag_Sequence。

另请参阅 https://www.unicode.org/reports/tr51/#Emoji_Sets

UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE

字符串的二进制属性 RGI_Emoji_Modifier_Sequence。

另请参阅 https://www.unicode.org/reports/tr51/#Emoji_Sets

UCHAR_RGI_EMOJI_TAG_SEQUENCE

字符串的二进制属性 RGI_Emoji_Tag_Sequence。

另请参阅 https://www.unicode.org/reports/tr51/#Emoji_Sets

UCHAR_RGI_EMOJI_ZWJ_SEQUENCE

字符串的二进制属性 RGI_Emoji_ZWJ_Sequence。

另请参阅 https://www.unicode.org/reports/tr51/#Emoji_Sets

UCHAR_SCRIPT

枚举属性 Script。

与 uscript_getScript 相同,返回 UScriptCode 值。

UCHAR_SCRIPT_EXTENSIONS

杂项属性 Script_Extensions(Unicode 6.0 中新增)。

有些字符在多个脚本中常用。更多信息请参阅 UAX #24:http://www.unicode.org/reports/tr24/。对应于 uscript.h 中的 uscript_hasScript 和 uscript_getScriptExtensions。

UCHAR_SEGMENT_STARTER

二进制属性 Segment_Starter。

ICU 特有属性,表示在 Unicode 规范化和组合字符序列方面为起始字符的字符。它们的 ccc=0,且不会出现在任何字符规范分解(如 NFD 中的 a 附带分音符以及 NFD(Hangul LVT) 中的一个 Jamo T)的非起始位置。ICU 使用此属性分割字符串以生成一组规范等效字符串,例如在处理排序定制规则时的规范闭包。

UCHAR_SENTENCE_BREAK

枚举属性 Sentence_Break(Unicode 4.1 中新增)。

用于 UAX #29:文本边界 (http://www.unicode.org/reports/tr29/) 返回 USentenceBreak 值。

UCHAR_SIMPLE_CASE_FOLDING

字符串属性 Simple_Case_Folding。

对应于 u_foldCase。

UCHAR_SIMPLE_LOWERCASE_MAPPING

字符串属性 Simple_Lowercase_Mapping。

对应于 u_tolower。

UCHAR_SIMPLE_TITLECASE_MAPPING

字符串属性 Simple_Titlecase_Mapping。

对应于 u_totitle。

UCHAR_SIMPLE_UPPERCASE_MAPPING

字符串属性 Simple_Uppercase_Mapping。

对应于 u_toupper。

UCHAR_SOFT_DOTTED

二进制属性 Soft_Dotted(Unicode 3.2 中新增)。

带有“软点”的字符,如 i 或 j。在这些字符上放置重音符号会导致点消失。

UCHAR_STRING_LIMIT

比字符串 Unicode 属性的最后一个常量大一的值。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

UCHAR_STRING_START

字符串 Unicode 属性的第一个常量。

UCHAR_S_TERM

二进制属性 STerm(Unicode 4.0.1 中新增)。

句子终止符。用于 UAX #29:文本边界 (http://www.unicode.org/reports/tr29/)

UCHAR_TERMINAL_PUNCTUATION

二进制属性 Terminal_Punctuation。

通常标记文本单元末尾的标点符号。

UCHAR_TITLECASE_MAPPING

字符串属性 Titlecase_Mapping。

对应于 ustring.h 中的 u_strToTitle。

UCHAR_TRAIL_CANONICAL_COMBINING_CLASS

枚举属性 Trail_Canonical_Combining_Class。

ICU 特有属性,表示分解后的最后一个代码点的 ccc,即 tccc(c)=ccc(NFD(c)[last])。用于检查规范顺序文本;请参阅 UNORM_FCD 和 http://www.unicode.org/notes/tn5/#FCD。返回 8 位数值,如 UCHAR_CANONICAL_COMBINING_CLASS。

UCHAR_UNICODE_1_NAME

字符串属性 Unicode_1_Name。

此属性实际价值很小。从 ICU 49 开始,ICU API 对此属性返回空字符串。对应于 u_charName(U_UNICODE_10_CHAR_NAME)。 已弃用。 ICU 49

UCHAR_UNIFIED_IDEOGRAPH

二进制属性 Unified_Ideograph(Unicode 3.2 中新增)。

用于程序化确定表意描述序列。

UCHAR_UPPERCASE

二进制属性 Uppercase。

与 u_isUUppercase 相同,与 u_isupper 不同。Lu+Other_Uppercase

UCHAR_UPPERCASE_MAPPING

字符串属性 Uppercase_Mapping。

对应于 ustring.h 中的 u_strToUpper。

UCHAR_VARIATION_SELECTOR

二进制属性 Variation_Selector(Unicode 4.0.1 中新增)。

表示所有符合变体选择符条件的字符。有关这些字符行为的详细信息,请参阅 StandardizedVariants.html 和 15.6 变体选择符。

UCHAR_VERTICAL_ORIENTATION

枚举属性 Vertical_Orientation。

用于 UAX #50 Unicode 垂直文本布局 (https://www.unicode.org/reports/tr50/)。作为 UCD 属性新增于 Unicode 10.0。

UCHAR_WHITE_SPACE

二进制属性 White_Space。

与 u_isUWhiteSpace 相同,与 u_isspace 和 u_isWhitespace 不同。空格字符+TAB+CR+LF-ZWSP-ZWNBSP

UCHAR_WORD_BREAK

枚举属性 Word_Break(Unicode 4.1 中新增)。

用于 UAX #29:文本边界 (http://www.unicode.org/reports/tr29/) 返回 UWordBreakValues 值。

UCHAR_XID_CONTINUE

二进制属性 XID_Continue。

修改后的 ID_Continue,允许在规范化形式 NFKC 和 NFKD 下闭合。

UCHAR_XID_START

二进制属性 XID_Start。

修改后的 ID_Start,允许在规范化形式 NFKC 和 NFKD 下闭合。

UPropertyNameChoice

unicode/uchar.h 中声明
 UPropertyNameChoice

u_getPropertyName()u_getPropertyValueName() 函数的选择器常量。

这些选择器用于选择为给定属性或值返回的名称。所有属性和值都有长名称。大多数有短名称,但有些没有。Unicode 允许除长名称和短名称之外的附加名称,这些名称由 U_LONG_PROPERTY_NAME + i 表示,其中 i=1, 2,...

另请参阅: u_getPropertyName() 另请参阅: u_getPropertyValueName()

属性
U_LONG_PROPERTY_NAME
U_PROPERTY_NAME_CHOICE_COUNT

比最高的正常 UPropertyNameChoice 值大一的值。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_SHORT_PROPERTY_NAME

UScriptCode

声明于 unicode/uscript.h
 UScriptCode

ISO 15924 脚本代码常量。

当前的脚本代码常量集至少支持 ICU 当前支持的 Unicode 版本中编码的所有脚本。常量的名称通常来源于 Unicode 脚本属性值别名。请参阅 UAX #24 Unicode 脚本属性 (http://www.unicode.org/reports/tr24/) 和 http://www.unicode.org/Public/UCD/latest/ucd/PropertyValueAliases.txt

此外,还包含许多 ISO 15924 脚本代码常量,用于语言标签、CLDR 数据等。其中一些代码未在 Unicode 字符数据库 (UCD) 中使用。例如,没有字符的 UCD 脚本属性值为 Hans 或 Hant。所有汉字在 Unicode 中的脚本属性值均为 Hani。

私用代码 Qaaa..Qabx 未包含在内,除非在 UCD 或 CLDR 中使用。

从 ICU 55 开始,仅当脚本已被 Unicode 编码或肯定会被 Unicode 编码,并已分配 Unicode 脚本属性值别名时,才会添加脚本代码,以确保其脚本名称稳定并与常量名称匹配。Latf 和 Aran 等不受单独编码约束的脚本代码可随时添加。

属性
USCRIPT_ADLAM

USCRIPT_AFAKA

USCRIPT_AHOM

USCRIPT_ANATOLIAN_HIEROGLYPHS

USCRIPT_ARABIC

USCRIPT_ARABIC_NASTALIQ

USCRIPT_ARMENIAN

USCRIPT_AVESTAN

USCRIPT_BALINESE

USCRIPT_BAMUM

USCRIPT_BASSA_VAH

USCRIPT_BATAK

USCRIPT_BENGALI

USCRIPT_BHAIKSUKI

USCRIPT_BLISSYMBOLS

USCRIPT_BOOK_PAHLAVI

USCRIPT_BOPOMOFO

USCRIPT_BRAHMI

USCRIPT_BRAILLE

USCRIPT_BUGINESE

USCRIPT_BUHID

USCRIPT_CANADIAN_ABORIGINAL

加拿大原住民脚本。

USCRIPT_CARIAN

USCRIPT_CAUCASIAN_ALBANIAN

USCRIPT_CHAKMA

USCRIPT_CHAM

USCRIPT_CHEROKEE

USCRIPT_CHORASMIAN

USCRIPT_CIRTH

USCRIPT_CODE_LIMIT

比最高的正常 UScriptCode 值大一的值。

最高值可通过 u_getIntPropertyMaxValue(UCHAR_SCRIPT) 获取。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

USCRIPT_COMMON

USCRIPT_COPTIC

USCRIPT_CUNEIFORM

USCRIPT_CYPRIOT

USCRIPT_CYPRO_MINOAN

USCRIPT_CYRILLIC

USCRIPT_DEMOTIC_EGYPTIAN

USCRIPT_DESERET

USCRIPT_DEVANAGARI

USCRIPT_DIVES_AKURU

USCRIPT_DOGRA

USCRIPT_DUPLOYAN

USCRIPT_DUPLOYAN_SHORTAND

已弃用。 ICU 54 拼写错误,请使用 USCRIPT_DUPLOYAN

USCRIPT_EASTERN_SYRIAC

USCRIPT_EGYPTIAN_HIEROGLYPHS

USCRIPT_ELBASAN

USCRIPT_ELYMAIC

USCRIPT_ESTRANGELO_SYRIAC

USCRIPT_ETHIOPIC

USCRIPT_GARAY

USCRIPT_GEORGIAN

USCRIPT_GLAGOLITIC

USCRIPT_GOTHIC

USCRIPT_GRANTHA

USCRIPT_GREEK

USCRIPT_GUJARATI

USCRIPT_GUNJALA_GONDI

USCRIPT_GURMUKHI

USCRIPT_GURUNG_KHEMA

USCRIPT_HAN

USCRIPT_HANGUL

USCRIPT_HANIFI_ROHINGYA

USCRIPT_HANUNOO

USCRIPT_HAN_WITH_BOPOMOFO

USCRIPT_HARAPPAN_INDUS

USCRIPT_HATRAN

USCRIPT_HEBREW

USCRIPT_HIERATIC_EGYPTIAN

USCRIPT_HIRAGANA

USCRIPT_IMPERIAL_ARAMAIC

USCRIPT_INHERITED

USCRIPT_INSCRIPTIONAL_PAHLAVI

USCRIPT_INSCRIPTIONAL_PARTHIAN

USCRIPT_INVALID_CODE

USCRIPT_JAMO

USCRIPT_JAPANESE

USCRIPT_JAVANESE

USCRIPT_JURCHEN

USCRIPT_KAITHI

USCRIPT_KANNADA

USCRIPT_KATAKANA

USCRIPT_KATAKANA_OR_HIRAGANA

Unicode 4.0.1 中新增的脚本代码。

USCRIPT_KAWI

USCRIPT_KAYAH_LI

USCRIPT_KHAROSHTHI

USCRIPT_KHITAN_SMALL_SCRIPT

USCRIPT_KHMER

USCRIPT_KHOJKI

USCRIPT_KHUDAWADI

USCRIPT_KHUTSURI

USCRIPT_KIRAT_RAI

USCRIPT_KOREAN

USCRIPT_KPELLE

USCRIPT_LANNA

USCRIPT_LAO

USCRIPT_LATIN

USCRIPT_LATIN_FRAKTUR

USCRIPT_LATIN_GAELIC

USCRIPT_LEPCHA

USCRIPT_LIMBU

USCRIPT_LINEAR_A

USCRIPT_LINEAR_B

USCRIPT_LISU

USCRIPT_LOMA

USCRIPT_LYCIAN

USCRIPT_LYDIAN

USCRIPT_MAHAJANI

USCRIPT_MAKASAR

USCRIPT_MALAYALAM

USCRIPT_MANDAEAN

USCRIPT_MANDAIC

USCRIPT_MANICHAEAN

USCRIPT_MARCHEN

USCRIPT_MASARAM_GONDI

USCRIPT_MATHEMATICAL_NOTATION

USCRIPT_MAYAN_HIEROGLYPHS

USCRIPT_MEDEFAIDRIN

USCRIPT_MEITEI_MAYEK

USCRIPT_MENDE

门德基卡库伊。

USCRIPT_MEROITIC

USCRIPT_MEROITIC_CURSIVE

USCRIPT_MEROITIC_HIEROGLYPHS

USCRIPT_MIAO

USCRIPT_MODI

USCRIPT_MONGOLIAN

USCRIPT_MOON

USCRIPT_MRO

USCRIPT_MULTANI

USCRIPT_MYANMAR

USCRIPT_NABATAEAN

USCRIPT_NAG_MUNDARI

USCRIPT_NAKHI_GEBA

USCRIPT_NANDINAGARI

USCRIPT_NEWA

USCRIPT_NEW_TAI_LUE

USCRIPT_NKO

USCRIPT_NUSHU

USCRIPT_NYIAKENG_PUACHUE_HMONG

USCRIPT_OGHAM

USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC

USCRIPT_OLD_HUNGARIAN

USCRIPT_OLD_ITALIC

USCRIPT_OLD_NORTH_ARABIAN

USCRIPT_OLD_PERMIC

USCRIPT_OLD_PERSIAN

USCRIPT_OLD_SOGDIAN

USCRIPT_OLD_SOUTH_ARABIAN

USCRIPT_OLD_UYGHUR

USCRIPT_OL_CHIKI

USCRIPT_OL_ONAL

USCRIPT_ORIYA

USCRIPT_ORKHON

USCRIPT_OSAGE

USCRIPT_OSMANYA

USCRIPT_PAHAWH_HMONG

USCRIPT_PALMYRENE

USCRIPT_PAU_CIN_HAU

USCRIPT_PHAGS_PA

USCRIPT_PHOENICIAN

USCRIPT_PHONETIC_POLLARD

USCRIPT_PSALTER_PAHLAVI

USCRIPT_REJANG

USCRIPT_RONGORONGO

USCRIPT_RUNIC

USCRIPT_SAMARITAN

USCRIPT_SARATI

USCRIPT_SAURASHTRA

USCRIPT_SHARADA

USCRIPT_SHAVIAN

USCRIPT_SIDDHAM

USCRIPT_SIGN_WRITING

萨顿手语书写。

USCRIPT_SIMPLIFIED_HAN

USCRIPT_SINDHI

USCRIPT_SINHALA

USCRIPT_SOGDIAN

USCRIPT_SORA_SOMPENG

USCRIPT_SOYOMBO

USCRIPT_SUNDANESE

USCRIPT_SUNUWAR

USCRIPT_SYLOTI_NAGRI

USCRIPT_SYMBOLS

USCRIPT_SYMBOLS_EMOJI

USCRIPT_SYRIAC

USCRIPT_TAGALOG

USCRIPT_TAGBANWA

USCRIPT_TAI_LE

USCRIPT_TAI_VIET

USCRIPT_TAKRI

USCRIPT_TAMIL

USCRIPT_TANGSA

USCRIPT_TANGUT

USCRIPT_TELUGU

USCRIPT_TENGWAR

USCRIPT_THAANA

USCRIPT_THAI

USCRIPT_TIBETAN

USCRIPT_TIFINAGH

USCRIPT_TIRHUTA

USCRIPT_TODHRI

USCRIPT_TOTO

USCRIPT_TRADITIONAL_HAN

USCRIPT_TULU_TIGALARI

USCRIPT_UCAS

加拿大原住民脚本(别名)。

USCRIPT_UGARITIC

USCRIPT_UNKNOWN

USCRIPT_UNWRITTEN_LANGUAGES

USCRIPT_VAI

USCRIPT_VISIBLE_SPEECH

USCRIPT_VITHKUQI

USCRIPT_WANCHO

USCRIPT_WARANG_CITI

USCRIPT_WESTERN_SYRIAC

USCRIPT_WOLEAI

USCRIPT_YEZIDI

USCRIPT_YI

USCRIPT_ZANABAZAR_SQUARE

UScriptUsage

声明于 unicode/uscript.h
 UScriptUsage

脚本用法常量。

See UAX #31 Unicode Identifier and Pattern Syntax. http://www.unicode.org/reports/tr31/#Table_Candidate_Characters_for_Exclusion_from_Identifiers

属性
USCRIPT_USAGE_ASPIRATIONAL

Aspirational Use script.

USCRIPT_USAGE_EXCLUDED

Candidate for Exclusion from Identifiers.

USCRIPT_USAGE_LIMITED_USE

Limited Use script.

USCRIPT_USAGE_NOT_ENCODED

Not encoded in Unicode.

USCRIPT_USAGE_RECOMMENDED

Recommended script.

USCRIPT_USAGE_UNKNOWN

Unknown script usage.

USentenceBreak

unicode/uchar.h 中声明
 USentenceBreak

句子边界常量。

See also: UCHAR_SENTENCE_BREAK

属性
U_SB_ATERM
U_SB_CLOSE
U_SB_COUNT

One more than the highest normal USentenceBreak value.

The highest value is available via u_getIntPropertyMaxValue(UCHAR_SENTENCE_BREAK).

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_SB_CR
U_SB_EXTEND
U_SB_FORMAT
U_SB_LF
U_SB_LOWER
U_SB_NUMERIC
U_SB_OLETTER
U_SB_OTHER
U_SB_SCONTINUE
U_SB_SEP
U_SB_SP
U_SB_STERM
U_SB_UPPER

USentenceBreakTag

声明于 unicode/ubrk.h
 USentenceBreakTag

getRuleStatus() 返回的句子边界标签的枚举常量。

针对每个句子类别定义了一个值范围,以便在未来版本中进一步细分类别。应用程序应该检查落在该范围内的标签值,而不是检查单个值。

所有这些常量的值都是稳定的(不会改变)。

属性
UBRK_SENTENCE_SEP

用于不包含句子结束符('.'

、'?'、'!' 等)字符,但仅由硬分隔符(CR、LF、PS 等)或输入结束终止的句子的标签值。

UBRK_SENTENCE_SEP_LIMIT

由分隔符结束的句子标签的上限。

UBRK_SENTENCE_TERM

用于以句子结束符('.'

、'?'、'!' 等)字符结尾,可能后跟硬分隔符(CR、LF、PS 等)的句子的标签值。

UBRK_SENTENCE_TERM_LIMIT

由句子结束符结束的句子标签的上限。

UTransDirection

声明于 unicode/utrans.h
 UTransDirection

指示转写器中方向的常量,例如 RuleBasedTransliterator 的正向或反向规则。

在打开音译器时指定。一个“A-B”音译器在正向操作时将 A 音译为 B,在反向操作时将 B 音译为 A。

属性
UTRANS_FORWARD

对于 ID 为的音译器,UTRANS_FORWARD 表示从-.

对于使用规则打开的音译器,它表示正向规则,例如“A > B”。

UTRANS_REVERSE

UTRANS_REVERSE 表示从的音译器,UTRANS_FORWARD 表示从-.

对于使用规则打开的音译器,它表示反向规则,例如“A < B”。

UVerticalOrientation

unicode/uchar.h 中声明
 UVerticalOrientation

UWordBreak

声明于 unicode/ubrk.h
 UWordBreak

getRuleStatus() 返回的单词边界标签的枚举常量。

为每个单词类别定义了一个值范围,以便在未来版本中对类别进行进一步细分。应用程序应检查落在范围内的标签值,而不是单个值。

所有这些常量的值都是稳定的(不会改变)。

属性
UBRK_WORD_IDEO

包含表意文字的词语的标签值,下限。

UBRK_WORD_IDEO_LIMIT

包含表意文字的词语的标签值,上限。

UBRK_WORD_KANA

包含假名字符的词语的标签值,下限。

UBRK_WORD_KANA_LIMIT

包含假名字符的词语的标签值,上限。

UBRK_WORD_LETTER

包含字母,但不包含平假名、片假名或表意文字的词语的标签值,下限。

UBRK_WORD_LETTER_LIMIT

包含字母的词语的标签值,上限。

UBRK_WORD_NONE

不属于任何其他类别的“词语”的标签值。

包括空格和大多数标点符号。

UBRK_WORD_NONE_LIMIT

未分类词语标签的上限。

UBRK_WORD_NUMBER

看起来是数字的词语的标签值,下限。

UBRK_WORD_NUMBER_LIMIT

看起来是数字的词语的标签值,上限。

UWordBreakValues

unicode/uchar.h 中声明
 UWordBreakValues

单词边界常量。

(UWordBreak 是 ubrk.h 中用于词语边界状态标签的现有枚举类型。)

另请参阅: UCHAR_WORD_BREAK

属性
U_WB_ALETTER
U_WB_COUNT

比最高的正常 UWordBreakValues 值大一。

最高值可通过 u_getIntPropertyMaxValue(UCHAR_WORD_BREAK) 获取。

已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。

U_WB_CR

U_WB_DOUBLE_QUOTE

U_WB_EXTEND

U_WB_EXTENDNUMLET
U_WB_E_BASE

U_WB_E_BASE_GAZ

U_WB_E_MODIFIER

U_WB_FORMAT
U_WB_GLUE_AFTER_ZWJ

U_WB_HEBREW_LETTER

U_WB_KATAKANA
U_WB_LF

U_WB_MIDLETTER
U_WB_MIDNUM
U_WB_MIDNUMLET

U_WB_NEWLINE

U_WB_NUMERIC
U_WB_OTHER
U_WB_REGIONAL_INDICATOR

U_WB_SINGLE_QUOTE

U_WB_WSEGSPACE

U_WB_ZWJ

类型别名

OldUChar

声明于 unicode/umachine.h
uint16_t OldUChar

ICU 58 中 UChar 的默认定义。

用于 UTF-16 代码单元和指针的基本类型。无符号 16 位整数。

如果 wchar_t 是 16 位宽,则将 OldUChar 定义为 wchar_t。如果 wchar_t 不是 16 位宽,则将 UChar 定义为 uint16_t。

这使得 OldUChar 的定义取决于平台,但允许与具有 16 位 wchar_t 类型的平台直接兼容字符串类型。

出于转换方便,这是 ICU 58 中定义 UChar 的方式。例外:如果定义了宏 UCHAR_TYPE,ICU 58 UChar 被定义为 UCHAR_TYPE。当前的 UChar 响应 UCHAR_TYPE,但 OldUChar 不响应。

UBidiPairedBracketType

unicode/uchar.h 中声明
enum UBidiPairedBracketType UBidiPairedBracketType

Bidi 配对括号类型常量。

另请参阅: UCHAR_BIDI_PAIRED_BRACKET_TYPE

UBlockCode

unicode/uchar.h 中声明
enum UBlockCode UBlockCode

UBool

声明于 unicode/umachine.h
int8_t UBool

ICU 布尔类型,一个有符号字节整数。

出于历史原因的 ICU 特有:C 和 C++ 标准过去没有定义类型 bool。此外,提供了固定类型定义,与类型 bool 不同,后者的细节(例如 sizeof)可能因编译器以及 C 和 C++ 之间而异。

UBreakIteratorType

声明于 unicode/ubrk.h
enum UBreakIteratorType UBreakIteratorType

文本边界的可能类型。

UCPMap

声明于 unicode/ucpmap.h
struct UCPMap UCPMap

从 Unicode 代码点 (U+0000..U+10FFFF) 到整数值的抽象映射。

另请参阅:UCPTrie 另请参阅:UMutableCPTrie

UCPMapValueFilter

声明于 unicode/ucpmap.h
uint32_t U_CALLCONV UCPMapValueFilter(const void *context, uint32_t value)

回调函数类型:修改映射值。

由 ucpmap_getRange()/ucptrie_getRange()/umutablecptrie_getRange() 可选调用。修改后的值将由 getRange 函数返回。

可用于忽略部分值位、创建多个值之一的过滤器、返回根据映射值计算的值索引等。

详情
参数
context
不透明指针,作为参数传递给 getRange 函数
value
映射中的值
返回值
修改后的值

UChar

声明于 unicode/umachine.h
char16_t UChar

UTF-16 代码单元和指针的基本类型。

无符号 16 位整数。从 ICU 59 开始,C++ API 直接使用 char16_t,而 C API 继续使用 UChar。

UChar 可以通过在预处理器或编译器命令行上定义宏 UCHAR_TYPE 来配置:-DUCHAR_TYPE=uint16_t 或 -DUCHAR_TYPE=wchar_t (如果 U_SIZEOF_WCHAR_T==2) 等。(宏 UCHAR_TYPE 也可以在此文件中的 ICU 库代码外部提前 #define。) 这适用于应用程序代码使用 uint16_t 或 wchar_t 来表示 UTF-16 的过渡用途。

默认是 UChar=char16_t。

C++11 将 char16_t 定义为与 uint16_t 位兼容,但作为一个不同类型。

在 C 中,char16_t 是 uint_least16_t 的简单 typedef。ICU 要求 uint_least16_t=uint16_t 用于数据内存映射。在 macOS 上,char16_t 不可用,因为 uchar.h 标准头文件缺失。

UChar32

声明于 unicode/umachine.h
int32_t UChar32

将 UChar32 定义为表示单个 Unicode 代码点的类型。

UChar32 是一个有符号 32 位整数(与 int32_t 相同)。

Unicode 码点范围是 0..0x10ffff。所有其他值(负数或 >=0x110000)作为 Unicode 码点都是非法的。它们可以用作标记值来表示“完成”、“错误”或类似非码点条件。

在 ICU 2.4 之前(Jitterbug 2146),UChar32 被定义为 wchar_t,如果它是 32 位宽(wchar_t 可以是有符号或无符号),否则定义为 uint32_t。也就是说,UChar32 的定义取决于平台。

另请参阅: U_SENTINEL

UCharCategory

unicode/uchar.h 中声明
enum UCharCategory UCharCategory

枚举的 Unicode 通用类别类型的数据。

另请参阅 http://www.unicode.org/Public/UNIDATA/UnicodeData.html

UCharDirection

unicode/uchar.h 中声明
enum UCharDirection UCharDirection

这指定了字符集的语言方向属性。

UCharEnumTypeRange

unicode/uchar.h 中声明
UBoolU_CALLCONV UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type)

来自 u_enumCharTypes() 的回调,会为每个连续的代码点范围 c (其中 start<=c

回调函数可以通过返回 false 来停止枚举。

另请参阅: UCharCategory 另请参阅: u_enumCharTypes

详情
参数
context
不透明指针,作为参数传递给 utrie_enum()
start
的连续范围中的第一个码点
limit
的连续范围中最后一个码点之后的一个码点
返回值
type

UCharNameChoice

unicode/uchar.h 中声明
enum UCharNameChoice UCharNameChoice

u_charName() 函数的选择器常量。

u_charName() 返回 Unicode 字符的“现代”名称;或 Unicode 1.0 版本中定义的名称,在此之前 Unicode 标准与 ISO-10646 合并;或为每个 Unicode 码点提供唯一名称的“扩展”名称。

另请参阅: u_charName

UColAttribute

声明于 unicode/ucol.h
enum UColAttribute UColAttribute

排序服务理解的属性。

所有属性都可以采用 UCOL_DEFAULT 值,以及每个属性特定的值。

UColAttributeValue

声明于 unicode/ucol.h
enum UColAttributeValue UColAttributeValue

包含用于控制排序行为的属性值的枚举。

这里是所有允许的值。并非每个属性都可以采用每个值。唯一的通用值是 UCOL_DEFAULT,它将属性值重置为该区域设置的预定义值

UColBoundMode

声明于 unicode/ucol.h
enum UColBoundMode UColBoundMode

由 ucol_getBound API 接受的枚举。请参阅下方解释,请勿更改此枚举成员分配的值。

底层代码依赖于它们具有这些编号

UColReorderCode

声明于 unicode/ucol.h
enum UColReorderCode UColReorderCode

包含用于重新排序排序表段(非脚本代码)的代码的枚举。

这些重新排序代码与脚本代码一起使用。 另请参阅:ucol_getReorderCodes另请参阅:ucol_setReorderCodes另请参阅:ucol_getEquivalentReorderCodes另请参阅:UScriptCode

UCollationResult

声明于 unicode/ucol.h
enum UCollationResult UCollationResult

如果在 ucol_strcoll() 方法中源字符串被比较为小于目标字符串,则返回 UCOL_LESS。

如果源字符串在 ucol_strcoll() 方法中比较等于目标字符串,则返回 UCOL_EQUAL。如果源字符串在 ucol_strcoll() 方法中比较大于目标字符串,则返回 UCOL_GREATER。另请参阅:ucol_strcoll() 比较结果的可能值

UCollationStrength

声明于 unicode/ucol.h
UColAttributeValue UCollationStrength

基本字母表示主要差异。

范围 [start..limit[ 中所有码点的一般类别

如果枚举应继续,则为 true;停止则为 false。

将比较级别设置为 UCOL_PRIMARY 以忽略二级和三级差异。使用此设置 Collator 对象的强度。一级差异的示例:“abc” < “abd”

同一基本字母上的发音符号差异代表二级差异。将比较级别设置为 UCOL_SECONDARY 以忽略三级差异。使用此设置 Collator 对象的强度。二级差异的示例:“ä” >> “a”。

同一字符的大小写版本代表三级差异。将比较级别设置为 UCOL_TERTIARY 以包含所有比较差异。使用此设置 Collator 对象的强度。三级差异的示例:“abc” <<< “ABC”。

UCollator

声明于 unicode/ucol.h
struct UCollator UCollator

表示排序器对象实例的结构

UDate

在 unicode/utypes.h 中声明
double UDate

日期和时间数据类型。

当两个字符具有相同的 Unicode 拼写时,它们被视为“相同”。UCOL_IDENTICAL。例如,“ä” == “ä”。

UDecompositionType

unicode/uchar.h 中声明
enum UDecompositionType UDecompositionType

分解类型常量。

另请参阅: UCHAR_DECOMPOSITION_TYPE

UDisplayContext

声明于 unicode/udisplaycontext.h
enum UDisplayContext UDisplayContext

UDisplayContextType

声明于 unicode/udisplaycontext.h
enum UDisplayContextType UDisplayContextType

UEastAsianWidth

unicode/uchar.h 中声明
enum UEastAsianWidth UEastAsianWidth

东亚宽度常量。

另请参阅: UCHAR_EAST_ASIAN_WIDTH 另请参阅: u_getIntPropertyValue

UCollationStrength 也用于确定从 UCollator 对象生成的排序键的强度。这些值现在可以在 UColAttributeValue 枚举中找到。

unicode/uchar.h 中声明
UBoolU_CALLCONV UEnumCharNamesFn(void *context, UChar32 code, UCharNameChoice nameChoice, const char *name, int32_t length)

u_enumCharNames() 的回调函数类型,为每个 Unicode 字符调用,提供其代码点值和字符名称。

这是一个基本数据类型,以自 1970 年 1 月 1 日 00:00 UTC 以来的毫秒数表示日期和时间。忽略 UTC 闰秒。

UEnumCharNamesFn

详情
参数
context
如果此函数返回 false,则枚举将停止。
另请参阅: UCharNameChoice 另请参阅: u_enumCharNames
传递给 u_enumCharNames() 的上下文指针。
code
具有此名称的字符的 Unicode 码点。
nameChoice
枚举哪种名称的选择器。
name
字符名称,以零终止。
返回值
length

UEnumeration

名称的长度。
struct UEnumeration UEnumeration

表示枚举对象实例的结构

UErrorCode

在 unicode/utypes.h 中声明
enum UErrorCode UErrorCode

标准 ICU4C 错误代码类型,用于替代异常。

使用 U_ZERO_ERROR 初始化 UErrorCode,并使用 U_SUCCESS()U_FAILURE() 检查成功或失败

UErrorCode errorCode = U_ZERO_ERROR;
// call ICU API that needs an error code parameter.
if (U_FAILURE(errorCode)) {
    // An error occurred. Handle it here.
}

C++ 代码应使用 icu::ErrorCode,可在 unicode/errorcode.h 中找到,或使用合适的子类。

更多信息,请参阅:https://unicode-org.github.io/icu/userguide/dev/codingguidelines#details-about-icu-error-codes

注意:按照惯例,接受 UErrorCode 的引用 (C++) 或指针 (C) 的 ICU 函数会首先进行测试

if (U_FAILURE(errorCode)) { return immediately; }

这样,在此类函数的链中,第一个设置错误代码的函数会阻止后续函数执行任何操作。

UGraphemeClusterBreak

unicode/uchar.h 中声明
enum UGraphemeClusterBreak UGraphemeClusterBreak

字形簇边界常量。

另请参阅: UCHAR_GRAPHEME_CLUSTER_BREAK

UHangulSyllableType

unicode/uchar.h 中声明
enum UHangulSyllableType UHangulSyllableType

韩语音节类型常量。

另请参阅: UCHAR_HANGUL_SYLLABLE_TYPE

UIdentifierStatus

unicode/uchar.h 中声明
enum UIdentifierStatus UIdentifierStatus

UIdentifierType

unicode/uchar.h 中声明
enum UIdentifierType UIdentifierType

标识符类型常量。

请参阅 https://www.unicode.org/reports/tr39/#Identifier_Status_and_Type

另请参阅: UCHAR_IDENTIFIER_TYPE

UIndicConjunctBreak

unicode/uchar.h 中声明
enum UIndicConjunctBreak UIndicConjunctBreak

印度语连字边界常量。

另请参阅: UCHAR_INDIC_CONJUNCT_BREAK

UIndicPositionalCategory

unicode/uchar.h 中声明
enum UIndicPositionalCategory UIndicPositionalCategory

印度语位置类别常量。

另请参阅: UCHAR_INDIC_POSITIONAL_CATEGORY

UIndicSyllabicCategory

unicode/uchar.h 中声明
enum UIndicSyllabicCategory UIndicSyllabicCategory

印度语音节类别常量。

另请参阅: UCHAR_INDIC_SYLLABIC_CATEGORY

UJoiningGroup

unicode/uchar.h 中声明
enum UJoiningGroup UJoiningGroup

连接组常量。

另请参阅: UCHAR_JOINING_GROUP

UJoiningType

unicode/uchar.h 中声明
enum UJoiningType UJoiningType

连接类型常量。

另请参阅: UCHAR_JOINING_TYPE

ULineBreak

unicode/uchar.h 中声明
enum ULineBreak ULineBreak

换行符常量。

另请参阅: UCHAR_LINE_BREAK

ULineBreakTag

声明于 unicode/ubrk.h
enum ULineBreakTag ULineBreakTag

getRuleStatus() 返回的换行符标签的枚举常量。

为每个单词类别定义了一个值范围,以便在未来版本中对类别进行进一步细分。应用程序应检查落在范围内的标签值,而不是单个值。

所有这些常量的值都是稳定的(不会改变)。

ULocAvailableType

unicode/uloc.h 中声明
enum ULocAvailableType ULocAvailableType

uloc_getAvailableByType 和 uloc_countAvailableByType 的类型。

ULocaleData

如果枚举应继续,则为 true,停止则为 false。
struct ULocaleData ULocaleData

一个区域设置数据对象。

ULocaleDisplayNames

声明于 unicode/uldnames.h
struct ULocaleDisplayNames ULocaleDisplayNames

struct ULocaleDisplayNames 的 C typedef。

UNormalizationCheckResult

声明于 unicode/unorm2.h
enum UNormalizationCheckResult UNormalizationCheckResult

规范化快速检查函数的结果值。

有关详细信息,请参阅 http://www.unicode.org/reports/tr15/#Detecting_Normalization_Forms

UNormalizer2

声明于 unicode/unorm2.h
struct UNormalizer2 UNormalizer2

struct UNormalizer2 的 C typedef。

UNumericType

unicode/uchar.h 中声明
enum UNumericType UNumericType

数字类型常量。

另请参阅: UCHAR_NUMERIC_TYPE

UParseError

unicode/parseerr.h 中声明
struct UParseError UParseError

UParseError 结构体用于返回关于解析错误的详细信息。

声明于 unicode/uenum.h

声明于 unicode/ulocdata.h

ICU 的解析引擎用于解析长规则、模式或程序,其中被解析的文本足够长,需要比 UErrorCode 更多的信息来本地化错误。

preContext   postContext
""           ""            The parser does not support context
"let "       "=7"          Pre- and post-context only
"let "       "for=7"       Pre- and post-context and error text
""           "for"         Error text only

line、offset 和 context 字段是可选的;解析引擎可以选择不使用它们。

UProperty

unicode/uchar.h 中声明
enum UProperty UProperty

Unicode 属性的选择常量。

这些常量用于 u_hasBinaryProperty 等函数中,以选择其中一个 Unicode 属性。

属性 API 旨在反映 Unicode 字符数据库 (UCD) 和 Unicode 技术报告 (UTR) 中定义的 Unicode 属性。

有关属性的详细信息,请参阅 UAX #44:Unicode 字符数据库 (http://www.unicode.org/reports/tr44/)。

重要提示:如果 ICU 使用低于 Unicode 版本(例如 3.2)的 UCD 文件构建,则标有“Unicode 3.2 中的新增属性”的属性不可用或未完全可用。请检查 u_getUnicodeVersion 以确保。

另请参阅: u_hasBinaryProperty 另请参阅: u_getIntPropertyValue 另请参阅: u_getUnicodeVersion

UPropertyNameChoice

unicode/uchar.h 中声明
enum UPropertyNameChoice UPropertyNameChoice

u_getPropertyName()u_getPropertyValueName() 函数的选择器常量。

这些选择器用于选择为给定属性或值返回的名称。所有属性和值都有长名称。大多数有短名称,但有些没有。Unicode 允许除长名称和短名称之外的附加名称,这些名称由 U_LONG_PROPERTY_NAME + i 表示,其中 i=1, 2,...

另请参阅: u_getPropertyName() 另请参阅: u_getPropertyValueName()

UReplaceable

preContext 和 postContext 字符串包含错误周围上下文的部分内容。如果源文本是“let for=7”,并且“for”是错误(例如,因为它是一个保留字),那么解析器可能产生的示例如下
void * UReplaceable

一个不透明的可替换文本对象。

使用 UParseError 的引擎示例(或未来可能使用)包括 Transliterator、RuleBasedBreakIterator 和 RegexPattern。

UReplaceableCallbacks

preContext 和 postContext 字符串包含错误周围上下文的部分内容。如果源文本是“let for=7”,并且“for”是错误(例如,因为它是一个保留字),那么解析器可能产生的示例如下
struct UReplaceableCallbacks UReplaceableCallbacks

一组函数指针,转写器使用它们来操作 UReplaceable。

声明于 unicode/urep.h

UScriptCode

声明于 unicode/uscript.h
enum UScriptCode UScriptCode

ISO 15924 脚本代码常量。

当前的脚本代码常量集至少支持 ICU 当前支持的 Unicode 版本中编码的所有脚本。常量的名称通常来源于 Unicode 脚本属性值别名。请参阅 UAX #24 Unicode 脚本属性 (http://www.unicode.org/reports/tr24/) 和 http://www.unicode.org/Public/UCD/latest/ucd/PropertyValueAliases.txt

此外,还包含许多 ISO 15924 脚本代码常量,用于语言标签、CLDR 数据等。其中一些代码未在 Unicode 字符数据库 (UCD) 中使用。例如,没有字符的 UCD 脚本属性值为 Hans 或 Hant。所有汉字在 Unicode 中的脚本属性值均为 Hani。

私用代码 Qaaa..Qabx 未包含在内,除非在 UCD 或 CLDR 中使用。

从 ICU 55 开始,仅当脚本已被 Unicode 编码或肯定会被 Unicode 编码,并已分配 Unicode 脚本属性值别名时,才会添加脚本代码,以确保其脚本名称稳定并与常量名称匹配。Latf 和 Aran 等不受单独编码约束的脚本代码可随时添加。

UScriptUsage

声明于 unicode/uscript.h
enum UScriptUsage UScriptUsage

脚本用法常量。

See UAX #31 Unicode Identifier and Pattern Syntax. http://www.unicode.org/reports/tr31/#Table_Candidate_Characters_for_Exclusion_from_Identifiers

USentenceBreak

unicode/uchar.h 中声明
enum USentenceBreak USentenceBreak

句子边界常量。

See also: UCHAR_SENTENCE_BREAK

USentenceBreakTag

声明于 unicode/ubrk.h
enum USentenceBreakTag USentenceBreakTag

getRuleStatus() 返回的句子边界标签的枚举常量。

针对每个句子类别定义了一个值范围,以便在未来版本中进一步细分类别。应用程序应该检查落在该范围内的标签值,而不是检查单个值。

所有这些常量的值都是稳定的(不会改变)。

UText

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
struct UText UText

struct UText 的 C typedef。

UTransDirection

声明于 unicode/utrans.h
enum UTransDirection UTransDirection

指示转写器中方向的常量,例如 RuleBasedTransliterator 的正向或反向规则。

在打开音译器时指定。一个“A-B”音译器在正向操作时将 A 音译为 B,在反向操作时将 B 音译为 A。

UTransPosition

声明于 unicode/utrans.h
struct UTransPosition UTransPosition

utrans_transIncremental() 增量转写的位置结构。

调用者应提供必要的函数来适当地操作其文本。与 C++ 类 Replaceable 相关。

声明于 unicode/utext.h

此结构定义正在进行音译的文本的两个子字符串。第一个区域 [contextStart, contextLimit) 定义音译器将作为上下文读取的字符。第二个区域 [start, limit) 定义实际将被音译的字符。第二个区域应是第一个区域的子集。

音译操作后,此结构中的一些索引将被修改。详细信息参见字段说明。

UTransliterator

声明于 unicode/utrans.h
void * UTransliterator

用于 C 的不透明音译器。

contextStart <= start <= limit <= contextLimit

注意:此结构中的所有索引值必须位于码点边界。也就是说,它们都不能出现在代理对的两个代码单元之间。如果任何索引确实分割了代理对,则结果未指定。

使用 utrans_openxxx() 打开,完成后使用 utrans_close() 关闭。等同于 C++ 类 Transliterator 及其子类。另请参阅:Transliterator
uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]

ICU API 上的版本的二进制形式是一个包含 4 个 uint8_t 的数组。

UVersionInfo

UVerticalOrientation

unicode/uchar.h 中声明
enum UVerticalOrientation UVerticalOrientation

垂直方向常量。

另请参阅: UCHAR_VERTICAL_ORIENTATION

UWordBreak

声明于 unicode/ubrk.h
enum UWordBreak UWordBreak

getRuleStatus() 返回的单词边界标签的枚举常量。

为每个单词类别定义了一个值范围,以便在未来版本中对类别进行进一步细分。应用程序应检查落在范围内的标签值,而不是单个值。

所有这些常量的值都是稳定的(不会改变)。

UWordBreakValues

unicode/uchar.h 中声明
enum UWordBreakValues UWordBreakValues

单词边界常量。

(UWordBreak 是 ubrk.h 中用于词语边界状态标签的现有枚举类型。)

另请参阅: UCHAR_WORD_BREAK

变量

context

声明于 unicode/uversion.h
U_CDECL_BEGIN typedef void * context

函数

UChar

声明于 unicode/uversion.h
U_CDECL_BEGIN typedef UChar(
  U_CALLCONV *UNESCAPE_CHAR_AT
)(int32_t offset

u_unescapeAt() 的回调函数,给定偏移量和上下文指针,返回源文本中的一个字符。

要比较两个版本,使用 memcmp(v1,v2,sizeof(UVersionInfo))。

声明于 unicode/ustring.h

详情
参数
上下文指针将是传递给 u_unescapeAt() 的任何内容。
另请参阅:u_unescapeAt
context
offset
返回值
指向将传递给 u_unescapeAt() 的偏移量的指针。

直接传递给 u_unescapeAt() 的不透明指针

unicode/uchar.h 中声明
U_CAPI void U_EXPORT2 u_charAge(
  UChar32 c,
  UVersionInfo versionArray
)

获取代码点的“年龄”。

偏移量处转义序列表示的字符

详情
参数
u_charAge
“age”是码点首次被指定(作为非字符或用于私用)或分配字符时的 Unicode 版本。这对于避免向不接受较新字符的接收进程发送码点非常有用。数据来自 UCD 文件 DerivedAge.txt。
c
码点。

versionArray

unicode/uchar.h 中声明
U_CAPI int32_t U_EXPORT2 u_charDigitValue(
  UChar32 c
)

返回十进制数字字符的十进制数字值。

要填充的 Unicode 版本号数组。

u_charDigitValue

这些字符具有“Nd”(十进制数字)的一般类别和 Decimal 的 Numeric_Type。

与 ICU 2.6 之前的版本不同,不对任何汉字返回数字值,因为汉字数字字符通常使用特殊的中文数字格式(中间有表示 10 的幂的字符),而不是十进制位置表示法。Unicode 4 明确将汉字数字字符的 Numeric_Type 指定为 Numeric 而不是 Decimal。有关更多详细信息,请参阅 Jitterbug 1483。

详情
参数
u_charAge
使用 u_getIntPropertyValue(c, UCHAR_NUMERIC_TYPE) 和 u_getNumericValue() 获取完整的数字 Unicode 属性。
返回值
另请参阅: u_getNumericValue

要获取十进制数字值的码点

unicode/uchar.h 中声明
U_CAPIUCharDirection U_EXPORT2 u_charDirection(
  UChar32 c
)

返回用于代码点的双向类别值,该值在 Unicode 双向算法 (UAX #9 http://www.unicode.org/reports/tr9/) 中使用。

c 的十进制数字值,如果 c 不是十进制数字字符则返回 -1

u_charDirection

请注意,一些未分配的码点具有 R 或 AL 的双向值,因为它们位于为从右到左脚本保留的块中。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
另请参阅: UCharDirection

要测试的码点

unicode/uchar.h 中声明
U_CAPIUChar32 U_EXPORT2 u_charFromName(
  UCharNameChoice nameChoice,
  const char *name,
  UErrorCode *pErrorCode
)

通过名称查找 Unicode 字符并返回其代码点值。

双向类别 (UCharDirection) 值

u_charFromName

详情
参数
code
名称必须完全精确匹配。如果名称不对应于码点,则将 pErrorCode 设置为 U_INVALID_CHAR_FOUND。只有当 Unicode 1.0 名称与现代名称不同时才会匹配。Unicode 名称都为大写。扩展名称为小写后跟大写十六进制数字,并在尖括号内。
nameChoice
另请参阅: UCharNameChoice 另请参阅: u_charName 另请参阅: u_enumCharNames
要匹配的名称的选择器。
要匹配的名称。
返回值
pErrorCode

指向 UErrorCode 变量的指针

unicode/uchar.h 中声明
U_CAPIUChar32 U_EXPORT2 u_charMirror(
  UChar32 c
)

将指定字符映射到“镜像”字符。

具有给定名称的码点的 Unicode 值,如果不存在此类码点,则为未定义值。

u_charMirror

详情
参数
u_charAge
对于具有 Bidi_Mirrored 属性的字符,实现有时需要一种“简陋”的映射到另一个 Unicode 字符(码点),以便其默认字形可以作为指定字符的默认字形的镜像。这对于文本与具有视觉顺序的代码页之间的转换以及没有字形选择功能的显示非常有用。
返回值
另请参阅: UCHAR_BIDI_MIRRORED 另请参阅: u_isMirrored

要映射的码点

unicode/uchar.h 中声明
U_CAPI int32_t U_EXPORT2 u_charName(
  UChar32 code,
  UCharNameChoice nameChoice,
  char *buffer,
  int32_t bufferLength,
  UErrorCode *pErrorCode
)

检索 Unicode 字符的名称。

可能作为镜像替代的另一个 Unicode 码点,如果不存在此类映射或 c 不具有 Bidi_Mirrored 属性,则返回 c 本身

u_charName

详情
参数
另请参阅: UCharNameChoice 另请参阅: u_enumCharNames
根据 nameChoice,写入缓冲区中的字符名称是“现代”名称或 Unicode 1.0 版本中定义的名称。名称仅包含 A-Z、0-9、空格和 '-' 等“不变”字符。Unicode 1.0 名称只有在与现代名称不同且数据文件包含其数据时才会被检索。gennames 可能在命令行选项中调用或不调用以将 1.0 名称包含在 unames.dat 中。
code
另请参阅: UCharNameChoice 另请参阅: u_charFromName 另请参阅: u_enumCharNames
要获取名称的字符(码点)。它必须是 0<=code<=0x10ffff
要获取哪个名称的选择器。
buffer
复制名称的目标地址。名称将始终以零终止。如果名称不存在,则缓冲区将被设置为空字符串。
要匹配的名称的选择器。
bufferLength
返回值
==sizeof(buffer)

指向 UErrorCode 变量的指针;在 u_charName() 返回后检查 U_SUCCESS()

unicode/uchar.h 中声明
U_CAPI int8_t U_EXPORT2 u_charType(
  UChar32 c
)

返回代码点的一般类别值。

名称的长度,如果此字符没有名称,则为 0。如果 bufferLength 小于或等于长度,则缓冲区包含截断的名称,返回的长度表示名称的完整长度。长度不包含零终止符。

u_charType

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
与 java.lang.Character.getType() 相同。

另请参阅: UCharCategory

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_countChar32(
  const UChar *s,
  int32_t length
)

计算字符串长度 UChar 代码单元中的 Unicode 代码点数量。

一般类别 (UCharCategory) 值

u_countChar32

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
此函数基本上是 U16_FWD_N() 宏的反向操作(参见 utf.h)。
name
s
返回值
输入字符串。

要检查的 UChar 代码单元数,或 -1 以计数第一个 NUL (U+0000) 之前的所有码点。

unicode/uchar.h 中声明
U_CAPI int32_t U_EXPORT2 u_digit(
  UChar32 ch,
  int8_t radix
)

返回指定基数中代码点的十进制数字值。

指定代码单元中的码点数。

  • u_digit
  • 如果基数不在 2<=radix<=36 范围内,或者如果 c 的值在指定基数中不是有效数字,则返回 -1。如果至少满足以下条件之一,则字符是有效数字
  • 字符具有十进制数字值。此类字符具有“Nd”(十进制数字)的一般类别和 Decimal 的 Numeric_Type。在这种情况下,值为字符的十进制数字值。
  • 字符是拉丁大写字母 'A''Z' 之一。在这种情况下,值为 c-'A'+10

字符是拉丁小写字母 'a''z' 之一。在这种情况下,值为 ch-'a'+10

识别 ASCII 范围 (0061..007A, 0041..005A) 和全角 ASCII 范围 (FF41..FF5A, FF21..FF3A) 的拉丁字母。

详情
参数
与 java.lang.Character.digit() 相同。
另请参阅: UCHAR_NUMERIC_TYPE 另请参阅: u_forDigit 另请参阅: u_charDigitValue 另请参阅: u_isdigit
ch
要测试的码点。
返回值
radix

基数。

unicode/uchar.h 中声明
U_CAPI void U_EXPORT2 u_enumCharNames(
  UChar32 start,
  UChar32 limit,
  UEnumCharNamesFn *fn,
  void *context,
  UCharNameChoice nameChoice,
  UErrorCode *pErrorCode
)

枚举 start 和 limit 代码点之间所有已分配的 Unicode 字符(包含 start,不包含 limit),并为每个字符调用一个函数,传入代码点值和字符名称。

字符在指定基数中表示的数字值,如果没有值或值超出基数则返回 -1。

u_enumCharNames

详情
参数
start
对于 Unicode 1.0 名称,仅枚举那些与现代名称不同的名称。
的连续范围中的第一个码点
另请参阅: UCharNameChoice 另请参阅: UEnumCharNamesFn 另请参阅: u_charName 另请参阅: u_charFromName
枚举范围内的第一个码点。
枚举范围内最后一个码点之后的一个码点(范围内的第一个码点)。
context
fn
code
为每个字符名称调用的函数。
要匹配的名称的选择器。
要匹配的名称。

传递给函数的任意指针。

unicode/uchar.h 中声明
U_CAPI void U_EXPORT2 u_enumCharTypes(
  UCharEnumTypeRange *enumRange,
  const void *context
)

高效地枚举所有代码点及其 Unicode 一般类别。

要枚举哪种名称的选择器。

u_enumCharTypes

这对于构建数据结构(例如 UnicodeSet)非常有用,对于枚举所有已分配的码点(type!=U_UNASSIGNED)等。

详情
参数
对于具有给定一般类别(“字符类型”)的连续码点范围,将调用 UCharEnumTypeRange 函数。相邻范围具有不同类型。Unicode 标准保证该类型的数值为 0..31。
另请参阅: UCharCategory 另请参阅: UCharEnumTypeRange
context
enumRange

一个函数指针,为每个具有相同一般类别的连续码点范围调用此函数

在 unicode/utypes.h 中声明
U_CAPI const char *U_EXPORT2 u_errorName(
  UErrorCode code
)

返回 UErrorCode 值的字符串表示。

传递给回调函数的不透明指针

u_errorName

unicode/uchar.h 中声明
U_CAPIUChar32 U_EXPORT2 u_foldCase(
  UChar32 c,
  uint32_t options
)

根据 UnicodeData.txt 和 CaseFolding.txt 将给定字符映射到其大小写折叠等价物;如果字符没有大小写折叠等价物,则返回字符本身。

该字符串将与上面 UErrorCode 枚举中的错误码常量名称相同。

详情
参数
u_charAge
对于具有 Bidi_Mirrored 属性的字符,实现有时需要一种“简陋”的映射到另一个 Unicode 字符(码点),以便其默认字形可以作为指定字符的默认字形的镜像。这对于文本与具有视觉顺序的代码页之间的转换以及没有字形选择功能的显示非常有用。
u_foldCase
此函数仅返回简单的单码点大小写映射。应尽可能使用完整大小写映射,因为它们通过处理整个字符串产生更好的结果。它们考虑了字符串上下文和语言,并可以根据需要映射到具有不同长度的结果字符串。完整大小写映射由字符串大小写映射函数应用,参见 ustring.h 和 UnicodeString 类。另请参见用户指南关于 C/POSIX 迁移的章节:https://unicode-org.github.io/icu/userguide/icu/posix#case-mappings
返回值
options

U_FOLD_CASE_DEFAULT 或 U_FOLD_CASE_EXCLUDE_SPECIAL_I

unicode/uchar.h 中声明
U_CAPIUChar32 U_EXPORT2 u_forDigit(
  int32_t digit,
  int8_t radix
)

确定指定基数中特定数字的字符表示形式。

码点的 Simple_Case_Folding,如果存在;否则为码点本身。

u_forDigit

如果 radix 的值不是有效基数,或者 digit 的值在指定基数中不是有效数字,则返回空字符 (U+0000)。

如果 radix 参数大于或等于 2 且小于或等于 36,则有效。digit 参数有效,如果 0 <= digit < radix

如果 digit 小于 10,则返回 '0' + digit。否则,返回 'a' + digit - 10

详情
参数
与 java.lang.Character.forDigit() 相同。
另请参阅: u_digit 另请参阅: u_charDigitValue 另请参阅: u_isdigit
ch
要测试的码点。
返回值
digit

要转换为字符的数字。

unicode/uchar.h 中声明
U_CAPIUChar32 U_EXPORT2 u_getBidiPairedBracket(
  UChar32 c
)

将指定字符映射到其配对的括号字符。

指定数字在指定基数中的 char 表示。

u_getBidiPairedBracket

详情
参数
u_charAge
对于具有 Bidi_Mirrored 属性的字符,实现有时需要一种“简陋”的映射到另一个 Unicode 字符(码点),以便其默认字形可以作为指定字符的默认字形的镜像。这对于文本与具有视觉顺序的代码页之间的转换以及没有字形选择功能的显示非常有用。
返回值
对于 Bidi_Paired_Bracket_Type!=None,这与 u_charMirror() 相同。否则返回 c 本身。参见 http://www.unicode.org/reports/tr9/

另请参阅: UCHAR_BIDI_PAIRED_BRACKET 另请参阅: UCHAR_BIDI_PAIRED_BRACKET_TYPE 另请参阅: u_charMirror

unicode/uchar.h 中声明
U_CAPI uint8_t U_EXPORT2 u_getCombiningClass(
  UChar32 c
)

返回 UnicodeData.txt 中指定的代码点的组合类别。

详情
参数
u_charAge
成对括号码点,如果不存在此类映射 (Bidi_Paired_Bracket_Type=None),则返回 c 本身
返回值
u_getCombiningClass

字符的码点

unicode/uchar.h 中声明
U_CAPI int32_t U_EXPORT2 u_getIntPropertyMaxValue(
  UProperty which
)

获取枚举/整数/二进制 Unicode 属性的最大值。

字符的组合类

u_getIntPropertyMaxValue

  • 可与 u_getIntPropertyMinValue 一起使用,用于分配 UnicodeSet 或类似对象的数组。
  • min/max 值的示例(对于 Unicode 3.2)
  • UCHAR_BIDI_CLASS: 0/18 (U_LEFT_TO_RIGHT/U_BOUNDARY_NEUTRAL)

UCHAR_SCRIPT: 0/45 (USCRIPT_COMMON/USCRIPT_TAGBANWA)

UCHAR_IDEOGRAPHIC: 0/1 (false/true)

详情
参数
对于未定义的 UProperty 常量值,min/max 值将为 0/-1。
另请参阅: UProperty 另请参阅: u_hasBinaryProperty 另请参阅: u_getUnicodeVersion 另请参阅: u_getIntPropertyMaxValue 另请参阅: u_getIntPropertyValue
返回值
which

UProperty 选择器常量,用于识别要检查的二进制属性。必须满足 UCHAR_BINARY_START<=which

unicode/uchar.h 中声明
U_CAPI int32_t U_EXPORT2 u_getIntPropertyMinValue(
  UProperty which
)

获取枚举/整数/二进制 Unicode 属性的最小值。

u_getIntPropertyValue 返回的 Unicode 属性的最大值。如果属性选择器超出范围,则 <=0。

UCHAR_IDEOGRAPHIC: 0/1 (false/true)

详情
参数
对于未定义的 UProperty 常量值,min/max 值将为 0/-1。
另请参阅: UProperty 另请参阅: u_hasBinaryProperty 另请参阅: u_getUnicodeVersion 另请参阅: u_getIntPropertyMaxValue 另请参阅: u_getIntPropertyValue
返回值
u_getIntPropertyMinValue

可与 u_getIntPropertyMaxValue 一起使用,用于分配 UnicodeSet 或类似对象的数组。

unicode/uchar.h 中声明
U_CAPI int32_t U_EXPORT2 u_getIntPropertyValue(
  UChar32 c,
  UProperty which
)

获取代码点的枚举或整数 Unicode 属性的属性值。

u_getIntPropertyValue 返回的 Unicode 属性的最小值。如果属性选择器超出范围,则为 0。

u_getIntPropertyValue

也返回二进制和掩码属性值。

Unicode,特别是在 3.2 版本中,定义了比 UnicodeData.txt 中原始集合更多的属性。

属性 API 旨在反映 Unicode 字符数据库 (UCD) 和 Unicode 技术报告 (UTR) 中定义的 Unicode 属性。有关属性的详细信息,请参见 http://www.unicode.org/。有关 Unicode 属性名称,请参见 UCD 文件 PropertyAliases.txt。

详情
参数
u_charAge
示例用法:UEastAsianWidth ea=(UEastAsianWidth)u_getIntPropertyValue(c, UCHAR_EAST_ASIAN_WIDTH); UBool b=(UBool)u_getIntPropertyValue(c, UCHAR_IDEOGRAPHIC);
对于未定义的 UProperty 常量值,min/max 值将为 0/-1。
另请参阅:UProperty另请参阅:u_hasBinaryProperty另请参阅:u_getIntPropertyMinValue另请参阅:u_getIntPropertyMaxValue另请参阅:u_getIntPropertyMap 另请参阅:u_getUnicodeVersion
返回值
要测试的码点。

UProperty 选择器常量,用于识别要检查的属性。必须满足 UCHAR_BINARY_START<=which

unicode/uchar.h 中声明
U_CAPI double U_EXPORT2 u_getNumericValue(
  UChar32 c
)

获取 Unicode 字符数据库中定义的 Unicode 代码点的数值。

直接表示属性值或对于枚举属性,对应于相应属性值枚举类型(必要时强制转换为枚举类型)的枚举常量的数值的值。对于二进制 Unicode 属性,返回 0 或 1(表示 false/true)。对于掩码属性,返回位掩码。如果“which”超出范围或 Unicode 版本根本没有该属性的数据,或者该码点没有该属性的数据,则返回 0。

u_getNumericValue

需要“double”返回类型是因为某些数值是分数、负数或对于 int32_t 来说太大。

对于 Unicode 字符数据库中没有任何数值的字符,此函数将返回 U_NO_NUMERIC_VALUE。注意:这与 Unicode 标准不同,后者指定 NaN 作为默认值。(NaN 并非在所有平台上都可用。)

详情
参数
u_charAge
类似于 java.lang.Character.getNumericValue(),但 u_getNumericValue() 也支持负值、大值和分数,而 Java 的 getNumericValue() 对于 ASCII 字母返回 10..35 的值。
返回值
另请参阅: U_NO_NUMERIC_VALUE

要获取数值的码点。

unicode/uchar.h 中声明
U_CAPIUProperty U_EXPORT2 u_getPropertyEnum(
  const char *alias
)

返回给定属性名称的 UProperty 枚举,如 Unicode 数据库文件 PropertyAliases.txt 中指定。

c 的数值,如果未定义则为 U_NO_NUMERIC_VALUE。

u_getPropertyEnum

识别短名称、长名称和任何其他变体。

详情
参数
此外,此函数将合成名称“gcm”/“General_Category_Mask”映射到属性 UCHAR_GENERAL_CATEGORY_MASK。这些名称不在 PropertyAliases.txt 中。
另请参阅: UProperty
返回值
alias

要匹配的属性名称。名称使用 PropertyAliases.txt 中描述的“宽松匹配”进行比较。

unicode/uchar.h 中声明
U_CAPI const char *U_EXPORT2 u_getPropertyName(
  UProperty property,
  UPropertyNameChoice nameChoice
)

返回给定属性的 Unicode 名称,如 Unicode 数据库文件 PropertyAliases.txt 中指定。

UProperty 枚举值,如果给定名称不匹配任何属性,则为 UCHAR_INVALID_CODE。

u_getPropertyName

详情
参数
此外,此函数将属性 UCHAR_GENERAL_CATEGORY_MASK 映射到合成名称“gcm”/“General_Category_Mask”。这些名称不在 PropertyAliases.txt 中。
另请参阅: UProperty 另请参阅: UPropertyNameChoice
code
property
返回值
UProperty 选择器,除了 UCHAR_INVALID_CODE。如果超出范围,返回 NULL。

要获取哪个名称的选择器。如果超出范围,返回 NULL。所有属性都有长名称。大多数有短名称,但有些没有。Unicode 允许附加名称;如果存在,这些名称将通过 U_LONG_PROPERTY_NAME + i 返回,其中 i=1, 2,...

unicode/uchar.h 中声明
U_CAPI int32_t U_EXPORT2 u_getPropertyValueEnum(
  UProperty property,
  const char *alias
)

返回给定值名称的属性值整数,如 Unicode 数据库文件 PropertyValueAliases.txt 中指定。

c 的数值,如果未定义则为 U_NO_NUMERIC_VALUE。

指向名称的指针,如果属性或 nameChoice 超出范围则返回 NULL。如果给定的 nameChoice 返回 NULL,则所有更大的 nameChoice 值都将返回 NULL,但有一个例外:如果 U_SHORT_PROPERTY_NAME 返回 NULL,则 U_LONG_PROPERTY_NAME(及更高值)仍可能返回非 NULL 值。返回的指针在调用 u_cleanup() 之前有效。

识别短名称、长名称和任何其他变体。

详情
参数
此外,此函数将属性 UCHAR_GENERAL_CATEGORY_MASK 映射到合成名称“gcm”/“General_Category_Mask”。这些名称不在 PropertyAliases.txt 中。
u_getPropertyValueEnum
此外,此函数将合成名称“gcm”/“General_Category_Mask”映射到属性 UCHAR_GENERAL_CATEGORY_MASK。这些名称不在 PropertyAliases.txt 中。
注意:PropertyValueAliases.txt 中的某些名称只能通过 UCHAR_GENERAL_CATEGORY_MASK 识别,而不能通过 UCHAR_GENERAL_CATEGORY 识别。这些名称包括:“C”/“Other”、“L”/“Letter”、“LC”/“Cased_Letter”、“M”/“Mark”、“N”/“Number”、“P”/“Punctuation”、“S”/“Symbol”和“Z”/“Separator”。
返回值
UProperty 选择器常量。必须满足 UCHAR_BINARY_START<=which

要匹配的值名称。名称使用 PropertyValueAliases.txt 中描述的“宽松匹配”进行比较。

unicode/uchar.h 中声明
U_CAPI const char *U_EXPORT2 u_getPropertyValueName(
  UProperty property,
  int32_t value,
  UPropertyNameChoice nameChoice
)

返回给定属性值的 Unicode 名称,如 Unicode 数据库文件 PropertyValueAliases.txt 中指定。

一个值整数或 UCHAR_INVALID_CODE,如果给定名称与给定属性的任何值都不匹配,或者属性无效。注意:UCHAR_GENERAL_CATEGORY_MASK 值不是 UCharCategory 的值,而是由 U_GET_GC_MASK() 生成的掩码值。这允许表示 [:L:] 等分组类别。掩码值范围是非连续的,从 1 到 U_GC_P_MASK。

u_getPropertyName

详情
参数
此外,此函数将属性 UCHAR_GENERAL_CATEGORY_MASK 映射到合成名称“gcm”/“General_Category_Mask”。这些名称不在 PropertyAliases.txt 中。
u_getPropertyValueEnum
value
u_getPropertyValueName
code
注意:PropertyValueAliases.txt 中的某些名称只能使用 UCHAR_GENERAL_CATEGORY_MASK 获取,而不能使用 UCHAR_GENERAL_CATEGORY。这些名称包括:“C”/“Other”、“L”/“Letter”、“LC”/“Cased_Letter”、“M”/“Mark”、“N”/“Number”、“P”/“Punctuation”、“S”/“Symbol”和“Z”/“Separator”。
返回值
UProperty 选择器,除了 UCHAR_INVALID_CODE。如果超出范围,返回 NULL。

给定属性的值选择器。如果超出范围,返回 NULL。通常,有效值的范围从 0 到某个最大值。有几个例外:(1.)UCHAR_BLOCK 的值从非零值 UBLOCK_BASIC_LATIN 开始。(2.)UCHAR_CANONICAL_COMBINING_CLASS 的值不是连续的,范围从 0 到 240。(3.)UCHAR_GENERAL_CATEGORY_MASK 的值不是 UCharCategory 的值,而是由 U_GET_GC_MASK() 生成的掩码值。这允许表示 [:L:] 等分组类别。掩码值范围是非连续的,从 1 到 U_GC_P_MASK。

unicode/uchar.h 中声明
U_CAPI void U_EXPORT2 u_getUnicodeVersion(
  UVersionInfo versionArray
)

获取 Unicode 版本信息。

要获取哪个名称的选择器。如果超出范围,返回 NULL。所有值都有长名称。大多数有短名称,但有些没有。Unicode 允许附加名称;如果存在,这些名称将通过 U_LONG_PROPERTY_NAME + i 返回,其中 i=1, 2,...

详情
参数
c
u_getUnicodeVersion

版本数组将填充当前 ICU 使用的 Unicode 标准版本信息。例如,Unicode 3.1.1 版本表示为一个值为 { 3, 1, 1, 0 } 的数组。

使用 utrans_openxxx() 打开,完成后使用 utrans_close() 关闭。等同于 C++ 类 Transliterator 及其子类。另请参阅:Transliterator
U_CAPI void U_EXPORT2 u_getVersion(
  UVersionInfo versionArray
)

获取 ICU 发布版本。

一个输出数组,将填充 Unicode 版本号

详情
参数
c
u_getVersion

版本数组存储 ICU 的版本信息。例如,发布版本“1.3.31.2”表示为 0x01031F02。此函数的定义位于 putil.c 中

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_hasBinaryProperty(
  UChar32 c,
  UProperty which
)

检查代码点的二进制 Unicode 属性。

u_getIntPropertyValue

版本号信息,结果将填充到此处

u_hasBinaryProperty

属性 API 旨在反映 Unicode 字符数据库 (UCD) 和 Unicode 技术报告 (UTR) 中定义的 Unicode 属性。有关属性的详细信息,请参见 http://www.unicode.org/ucd/。有关 Unicode 属性名称,请参见 UCD 文件 PropertyAliases.txt。

详情
参数
u_charAge
示例用法:UEastAsianWidth ea=(UEastAsianWidth)u_getIntPropertyValue(c, UCHAR_EAST_ASIAN_WIDTH); UBool b=(UBool)u_getIntPropertyValue(c, UCHAR_IDEOGRAPHIC);
对于未定义的 UProperty 常量值,min/max 值将为 0/-1。
另请参阅: UProperty 另请参阅: u_hasBinaryProperty 另请参阅: u_getUnicodeVersion 另请参阅: u_getIntPropertyMaxValue 另请参阅: u_getIntPropertyValue
返回值
重要:如果 ICU 使用低于 Unicode 3.2 版本的数据构建,则标记为“Unicode 3.2 中新增”的属性可能不可用或未完全可用。

另请参阅:UProperty另请参阅:u_getBinaryPropertySet 另请参阅:u_getIntPropertyValue另请参阅:u_getUnicodeVersion

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isIDIgnorable(
  UChar32 c
)

根据 Java 确定指定字符在标识符中是否应被视为可忽略字符。

根据 c 的二进制 Unicode 属性值返回 true 或 false。如果“which”超出范围或 Unicode 版本根本没有该属性的数据,则也返回 false。

u_isIDIgnorable

对于一般类别为“Cf”(格式控制)以及非空白 ISO 控制字符(U+0000..U+0008、U+000E..U+001B、U+007F..U+009F)返回 True。

与 java.lang.Character.isIdentifierIgnorable() 相同。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
请注意,Unicode 仅建议忽略 Cf(格式控制)。

另请参阅: UCHAR_DEFAULT_IGNORABLE_CODE_POINT 另请参阅: u_isIDStart 另请参阅: u_isIDPart

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isIDPart(
  UChar32 c
)

根据 UAX #31 Unicode 标识符和模式语法,确定指定字符是否允许作为标识符的非起始字符。

如果码点根据 Java 可在标识符中忽略,则返回 true

u_isIDPart

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
与 Unicode ID_Continue (UCHAR_ID_CONTINUE) 相同。

另请参阅: UCHAR_ID_CONTINUE 另请参阅: u_isIDStart 另请参阅: u_isIDIgnorable

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isIDStart(
  UChar32 c
)

根据 UAX #31 Unicode 标识符和模式语法,确定指定字符是否允许作为标识符中的第一个字符。

如果码点可以作为标识符的非起始字符出现,则返回 true

u_isIDStart

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
与 Unicode ID_Start (UCHAR_ID_START) 相同。

另请参阅: UCHAR_ID_START 另请参阅: u_isalpha 另请参阅: u_isIDPart

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isISOControl(
  UChar32 c
)

确定指定的代码点是否为 ISO 控制代码。

如果码点可以开始一个标识符,则返回 true

u_isISOControl

对于 U+0000..U+001f 和 U+007f..U+009f(一般类别“Cc”)返回 true。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
与 java.lang.Character.isISOControl() 相同。

另请参阅: u_iscntrl

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isJavaIDPart(
  UChar32 c
)

确定指定字符是否允许在 Java 标识符中使用。

如果码点是 ISO 控制码,则返回 true

u_isJavaIDPart

除了 u_isIDPart(c) 之外,对于一般类别为“Sc”(货币符号)的字符返回 true。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
与 java.lang.Character.isJavaIdentifierPart() 相同。

另请参阅: u_isIDIgnorable 另请参阅: u_isJavaIDStart 另请参阅: u_isalpha 另请参阅: u_isdigit 另请参阅: u_isIDPart

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isJavaIDStart(
  UChar32 c
)

确定指定字符是否允许作为 Java 标识符中的第一个字符。

如果码点可以出现在 Java 标识符中,则返回 true

u_isJavaIDStart

除了 u_isIDStart(c) 之外,对于一般类别为“Sc”(货币符号)和“Pc”(连接标点)的字符返回 true。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
与 java.lang.Character.isJavaIdentifierStart() 相同。

另请参阅: u_isJavaIDPart 另请参阅: u_isalpha 另请参阅: u_isIDStart

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isJavaSpaceChar(
  UChar32 c
)

根据 Java 确定指定代码点是否为空白字符。

如果码点可以开始一个 Java 标识符,则返回 true

u_isJavaSpaceChar

对于一般类别为“Z”(分隔符)的字符返回 true,但不包括控制码(例如 TAB 或换行符)。

与 java.lang.Character.isSpaceChar() 相同。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
注意:ICU 有几个空白字符函数;请参阅 uchar.h 文件文档了解详细比较。

另请参阅: u_isspace 另请参阅: u_isWhitespace 另请参阅: u_isUWhiteSpace

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isMirrored(
  UChar32 c
)

确定代码点是否具有 Bidi_Mirrored 属性。

如果码点是根据 Character.isSpaceChar() 的空格字符,则返回 true

u_isMirrored

对于通常用于从右到左上下文并需要显示为“镜像”字形的字符,设置此属性。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
与 java.lang.Character.isMirrored() 相同。与 UCHAR_BIDI_MIRRORED 相同

另请参阅: UCHAR_BIDI_MIRRORED

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isUAlphabetic(
  UChar32 c
)

检查代码点是否具有 Alphabetic Unicode 属性。

如果字符具有 Bidi_Mirrored 属性,则返回 true

详情
参数
u_charAge
u_isUAlphabetic
返回值
与 u_hasBinaryProperty(c, UCHAR_ALPHABETIC) 相同。这与 u_isalpha 不同!另请参阅:UCHAR_ALPHABETIC另请参阅:u_isalpha另请参阅:u_hasBinaryProperty

要测试的码点

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isULowercase(
  UChar32 c
)

检查代码点是否具有 Lowercase Unicode 属性。

如果码点具有 Alphabetic Unicode 属性则返回 true,否则返回 false

详情
参数
u_charAge
u_isUAlphabetic
返回值
u_isULowercase

与 u_hasBinaryProperty(c, UCHAR_LOWERCASE) 相同。这与 u_islower 不同!另请参阅:UCHAR_LOWERCASE另请参阅:u_islower另请参阅:u_hasBinaryProperty

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isUUppercase(
  UChar32 c
)

检查代码点是否具有 Uppercase Unicode 属性。

如果码点具有 Lowercase Unicode 属性则返回 true,否则返回 false

详情
参数
u_charAge
u_isUAlphabetic
返回值
u_isUUppercase

与 u_hasBinaryProperty(c, UCHAR_UPPERCASE) 相同。这与 u_isupper 不同!另请参阅:UCHAR_UPPERCASE另请参阅:u_isupper另请参阅:u_hasBinaryProperty

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isUWhiteSpace(
  UChar32 c
)

检查代码点是否具有 White_Space Unicode 属性。

如果码点具有 Uppercase Unicode 属性则返回 true,否则返回 false

对于一般类别为“Z”(分隔符)的字符返回 true,但不包括控制码(例如 TAB 或换行符)。

u_isUWhiteSpace

详情
参数
u_charAge
u_isUAlphabetic
返回值
与 u_hasBinaryProperty(c, UCHAR_WHITE_SPACE) 相同。这与 u_isspace 和 u_isWhitespace 都不同!

另请参阅: UCHAR_WHITE_SPACE 另请参阅: u_isWhitespace 另请参阅: u_isspace 另请参阅: u_isJavaSpaceChar 另请参阅: u_hasBinaryProperty

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isWhitespace(
  UChar32 c
)

根据 Java/ICU 确定指定代码点是否为空白字符。

如果码点具有 White_Space Unicode 属性则返回 true,否则返回 false。

  • u_isWhitespace
  • 当且仅当满足以下条件之一时,字符才被视为 Java 空白字符
  • 它是 Unicode 分隔符(类别“Z”=“Zs”或“Zl”或“Zp”),但它也不是非中断空格(U+00A0 NBSP 或 U+2007 Figure Space 或 U+202F Narrow NBSP)。
  • 它是 U+0009 HORIZONTAL TABULATION。
  • 它是 U+000A LINE FEED。
  • 它是 U+000B VERTICAL TABULATION。
  • 它是 U+000C FORM FEED。
  • 它是 U+000D CARRIAGE RETURN。
  • 它是 U+001C FILE SEPARATOR。
  • 它是 U+001D GROUP SEPARATOR。

它是 U+001E RECORD SEPARATOR。

它是 U+001F UNIT SEPARATOR。

对于一般类别为“Z”(分隔符)的字符返回 true,但不包括控制码(例如 TAB 或换行符)。

此 API 尝试与 Java 的 java.lang.Character.isWhitespace() 的语义同步,但由于 Unicode 版本差异,它可能不会返回完全相同的结果。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
注意:Unicode 4.0.1 将 U+200B ZERO WIDTH SPACE 从空间分隔符 (Zs) 更改为格式控制符 (Cf)。自此以后,isWhitespace(0x200b) 返回 false。参见 http://www.unicode.org/versions/Unicode4.0.1/

另请参阅: u_isspace 另请参阅: u_isJavaSpaceChar 另请参阅: u_isUWhiteSpace

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isalnum(
  UChar32 c
)

根据 Java 确定指定代码点是否为字母数字字符(字母或数字)。

如果码点根据 Java/ICU 是空白字符,则返回 true

u_isalnum

对于一般类别为“L”(字母)和“Nd”(十进制数字)的字符返回 true。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
与 java.lang.Character.isLetterOrDigit() 相同。

除了等同于 Java 函数之外,这也作为 C/POSIX 迁移函数使用。请参阅此头文件顶部文档中关于 C/POSIX 字符分类函数的注释。

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isalpha(
  UChar32 c
)

确定指定代码点是否为字母字符。

如果码点根据 Character.isLetterOrDigit() 是字母或数字字符,则返回 true

u_isalpha

对于一般类别为“L”(字母)和“Nd”(十进制数字)的字符返回 true。

对于一般类别为“L”(字母)返回 true。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
与 java.lang.Character.isLetter() 相同。

另请参阅: u_isdigit 另请参阅: u_isalnum

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isbase(
  UChar32 c
)

非标准:确定指定代码点是否为基础字符。

如果码点是字母字符,则返回 true

u_isbase

对于一般类别为“L”(字母)、“N”(数字)、“Mc”(间距组合标记)和“Me”(封闭标记)的字符返回 true。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
请注意,这与 Unicode 标准第 3.6 章、符合性子句 D51“Base character”中的定义不同,后者将基本字符定义为具有一般类别 Letter (L)、Number (N)、Punctuation (P)、Symbol (S) 或 Space Separator (Zs) 的码点。

另请参阅: u_isalpha 另请参阅: u_isdigit

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isblank(
  UChar32 c
)

确定指定代码点是否为“空白”或“水平空格”,即在行上可见分隔单词的字符。

如果码点根据此函数是基本字符,则返回 true

u_isblank

以下是等价定义

对于 Unicode White_Space 字符返回 true,但“垂直空格控制”字符除外,其中“垂直空格控制”字符是指以下字符:U+000A (LF) U+000B (VT) U+000C (FF) U+000D (CR) U+0085 (NEL) U+2028 (LS) U+2029 (PS)

对于一般类别为“Z”(分隔符)的字符返回 true,但不包括控制码(例如 TAB 或换行符)。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
对于 U+0009 (TAB) 和一般类别为“Zs”(空格分隔符)的字符返回 true。

这是一个 C/POSIX 迁移函数。请参阅此头文件顶部文档中关于 C/POSIX 字符分类函数的注释。

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_iscntrl(
  UChar32 c
)

确定指定代码点是否为控制字符(由本函数定义)。

如果码点是“空白”字符,则返回 true

  • u_iscntrl
  • 控制字符是以下之一
  • ISO 8 位控制字符 (U+0000..U+001f 和 U+007f..U+009f)
  • U_CONTROL_CHAR (Cc)
  • U_FORMAT_CHAR (Cf)

U_LINE_SEPARATOR (Zl)

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
U_PARAGRAPH_SEPARATOR (Zp)

另请参阅: UCHAR_DEFAULT_IGNORABLE_CODE_POINT 另请参阅: u_isprint

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isdefined(
  UChar32 c
)

确定指定代码点是否为“已定义”,这通常表示它已分配了字符。

如果码点是控制字符,则返回 true

u_isdefined

对于一般类别除“Cn”(其他,未分配)之外的所有字符返回 true,即对于 UnicodeData.txt 中提及的所有码点返回 true。

请注意,非字符码点(例如 U+FDD0)未被“定义”(它们是 Cn),但代理码点被“定义”(Cs)。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
与 java.lang.Character.isDefined() 相同。

另请参阅: u_isdigit 另请参阅: u_isalpha 另请参阅: u_isalnum 另请参阅: u_isupper 另请参阅: u_islower 另请参阅: u_istitle

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isdigit(
  UChar32 c
)

根据 Java 确定指定代码点是否为数字字符。

如果码点被分配了字符,则返回 true

u_isdigit

对于一般类别为“L”(字母)和“Nd”(十进制数字)的字符返回 true。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
对于一般类别为“Nd”(十进制数字)的字符返回 true。从 Unicode 4 开始,这与测试 Numeric_Type 是否为 Decimal 相同。

与 java.lang.Character.isDigit() 相同。

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isgraph(
  UChar32 c
)

确定指定代码点是否为“图形”字符(可打印,不包括空格)。

如果码点根据 Character.isDigit() 是数字字符,则返回 true

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
u_isgraph

对于除一般类别为“Cc”(控制码)、“Cf”(格式控制)、“Cs”(代理码点)、“Cn”(未分配)和“Z”(分隔符)之外的所有字符返回 true。

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_islower(
  UChar32 c
)

确定指定代码点是否具有一般类别“Ll”(小写字母)。

如果码点是“图形”字符,则返回 true

u_islower

对于一般类别为“L”(字母)和“Nd”(十进制数字)的字符返回 true。

参见: UCHAR_LOWERCASE 参见: u_isupper 参见: u_istitle

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
如果码点是 Ll 小写字母,则为 true

u_isprint

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isprint(
  UChar32 c
)

确定指定代码点是否为可打印字符。

对于除了“C”(控制字符)以外的通用类别,为 True。

参见: UCHAR_DEFAULT_IGNORABLE_CODE_POINT 参见: u_iscntrl

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
如果码点是可打印字符,则为 true

u_ispunct

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_ispunct(
  UChar32 c
)

确定指定代码点是否为标点符号。

对于通用类别为“P”(标点)的字符,为 True。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
如果码点是标点字符,则为 true

u_isspace

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isspace(
  UChar32 c
)

确定指定字符是否为空格字符。

对于一般类别为“Z”(分隔符)的字符返回 true,但不包括控制码(例如 TAB 或换行符)。

参见: u_isJavaSpaceChar 参见: u_isWhitespace 参见: u_isUWhiteSpace

详情
参数
u_charAge
要测试的字符
返回值
如果字符是空格字符,则为 true;否则为 false。

u_istitle

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_istitle(
  UChar32 c
)

确定指定代码点是否为标题大小写字母。

对于通用类别为“Lt”(首字母大写字母)的字符,为 True。

与 java.lang.Character.isTitleCase() 相同。

参见: u_isupper 参见: u_islower 参见: u_totitle

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
如果码点是 Lt 首字母大写字母,则为 true

u_isupper

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isupper(
  UChar32 c
)

确定指定代码点是否具有一般类别“Lu”(大写字母)。

与 java.lang.Character.isUpperCase() 相同。

这会遗漏一些也是大写但通用类别值不同的字符。为了包含这些字符,请使用 UCHAR_UPPERCASE。

对于一般类别为“L”(字母)和“Nd”(十进制数字)的字符返回 true。

参见: UCHAR_UPPERCASE 参见: u_islower 参见: u_istitle 参见: u_tolower

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
如果码点是 Lu 大写字母,则为 true

u_isxdigit

unicode/uchar.h 中声明
U_CAPIUBool U_EXPORT2 u_isxdigit(
  UChar32 c
)

确定指定代码点是否为十六进制数字。

这等效于 u_digit(c, 16)>=0。对于通用类别为“Nd”(十进制数字)的字符以及 ASCII 和全角 ASCII 中的拉丁字母 a-f 和 A-F,为 True。(即,对于码点为 0041..0046、0061..0066、FF21..FF26、FF41..FF46 的字母。)

为了将十六进制数字的定义仅限于 ASCII 字符,请使用 (c<=0x7f && u_isxdigit(c))。

详情
参数
u_charAge
与 java.lang.Character.getDirectionality() 相同
返回值
如果码点是十六进制数字,则为 true

u_memcasecmp

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_memcasecmp(
  const UChar *s1,
  const UChar *s2,
  int32_t length,
  uint32_t options
)

使用完整的大小写折叠方式不区分大小写比较两个字符串。

这等效于 u_strcmp(u_strFoldCase(s1, n, options), u_strFoldCase(s2, n, options))。

详情
参数
s1
要比较的字符串。
s2
要比较的字符串。
name
要进行大小写折叠并比较的每个字符串中的字符数。
u_foldCase
选项的位集
  • 默认选项使用 U_FOLD_CASE_DEFAULT 或 0:按代码单元顺序比较并进行默认大小写折叠。
  • 设置 U_COMPARE_CODE_POINT_ORDER 以选择按码点顺序而不是代码单元顺序(详见 u_strCompare)。
  • U_FOLD_CASE_EXCLUDE_SPECIAL_I
返回值
指示比较结果的负、零或正整数。

u_memchr

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_memchr(
  const UChar *s,
  UChar c,
  int32_t count
)

查找 BMP 代码点在字符串中首次出现的位置。

仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串(包含 count 个 UChar)。
u_charAge
要查找的 BMP 码点。
count
字符串的长度。
返回值
指向 s 中第一次出现 c 的指针,如果 s 中不存在 c,则为 NULL

参见: u_strchr 参见: u_memchr32 参见: u_strFindFirst

u_memchr32

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_memchr32(
  const UChar *s,
  UChar32 c,
  int32_t count
)

查找代码点在字符串中首次出现的位置。

仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串(包含 count 个 UChar)。
u_charAge
要查找的码点。
count
字符串的长度。
返回值
指向 s 中第一次出现 c 的指针,如果 s 中不存在 c,则为 NULL

参见: u_strchr32 参见: u_memchr 参见: u_strFindFirst

u_memcmp

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_memcmp(
  const UChar *buf1,
  const UChar *buf2,
  int32_t count
)

比较每个缓冲区的前 count 个 UChar。

详情
参数
buf1
第一个要比较的字符串。
buf2
第二个要比较的字符串。
count
要比较的最大 UChar 数。
返回值
当 buf1 < buf2 时,返回负数。当 buf1 == buf2 时,返回 0。当 buf1 > buf2 时,返回正数。

u_memcmpCodePointOrder

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_memcmpCodePointOrder(
  const UChar *s1,
  const UChar *s2,
  int32_t count
)

按代码点顺序比较两个 Unicode 字符串。

如果存在增补字符,这与 UTF-16 中的 u_memcmp() 不同。详情请参阅 u_strCompare()

详情
参数
s1
要比较的字符串。
s2
要比较的字符串。
count
要比较的最大字符数。
返回值
根据第一个字符串在码点顺序中是小于/等于/大于第二个字符串,返回负/零/正整数

u_memcpy

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_memcpy(
  UChar *dest,
  const UChar *src,
  int32_t count
)

memcpy() 的同义词,但仅限 UChars。

详情
参数
dest
目标字符串
src
源字符串(如果 count<=0,则可以为 NULL/无效)
count
要复制的字符数;如果 <=0,则无操作
返回值
指向 dest 的指针

u_memmove

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_memmove(
  UChar *dest,
  const UChar *src,
  int32_t count
)

memmove() 的同义词,但仅限 UChars。

详情
参数
dest
目标字符串
src
源字符串(如果 count<=0,则可以为 NULL/无效)
count
要移动的字符数;如果 <=0,则无操作
返回值
指向 dest 的指针

u_memrchr

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_memrchr(
  const UChar *s,
  UChar c,
  int32_t count
)

在字符串中查找 BMP 码点最后一次出现的位置。

仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串(包含 count 个 UChar)。
u_charAge
要查找的 BMP 码点。
count
字符串的长度。
返回值
指向 s 中最后一次出现 c 的指针,如果 s 中不存在 c,则为 NULL

参见: u_strrchr 参见: u_memrchr32 参见: u_strFindLast

u_memrchr32

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_memrchr32(
  const UChar *s,
  UChar32 c,
  int32_t count
)

在字符串中查找码点最后一次出现的位置。

仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串(包含 count 个 UChar)。
u_charAge
要查找的码点。
count
字符串的长度。
返回值
指向 s 中最后一次出现 c 的指针,如果 s 中不存在 c,则为 NULL

参见: u_strrchr32 参见: u_memrchr 参见: u_strFindLast

u_memset

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_memset(
  UChar *dest,
  UChar c,
  int32_t count
)

使用 c 初始化 dest 中的 count 个字符。

详情
参数
dest
目标字符串。
u_charAge
用于初始化字符串的字符。
count
要设置的最大字符数。
返回值
指向 dest 的指针。

u_strCaseCompare

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strCaseCompare(
  const UChar *s1,
  int32_t length1,
  const UChar *s2,
  int32_t length2,
  uint32_t options,
  UErrorCode *pErrorCode
)

使用完整的大小写折叠方式不区分大小写比较两个字符串。

这等效于 u_strCompare(u_strFoldCase(s1, options), u_strFoldCase(s2, options), (options&U_COMPARE_CODE_POINT_ORDER)!=0)。

比较可以在 UTF-16 代码单元顺序或码点顺序中完成。它们仅在将增补码点 (U+10000..U+10ffff) 与 BMP 末尾附近的 BMP 码点 (即 U+e000..U+ffff) 进行比较时有所不同。在代码单元顺序中,高位 BMP 码点排在增补码点之后,因为它们存储为代理对,位于 U+d800..U+dfff。

此函数适用于具有不同明确指定长度的字符串,与类似 ANSI C 的 u_strcmp()u_memcmp() 等函数不同。使用长度参数 -1 可以处理 NULL 终止字符串。

详情
参数
s1
第一个源字符串。
length1
第一个源字符串的长度,如果为 NULL 终止,则为 -1。
s2
第二个源字符串。
length2
第二个源字符串的长度,如果为 NULL 终止,则为 -1。
u_foldCase
选项的位集
  • 默认选项使用 U_FOLD_CASE_DEFAULT 或 0:按代码单元顺序比较并进行默认大小写折叠。
  • 设置 U_COMPARE_CODE_POINT_ORDER 以选择按码点顺序而不是代码单元顺序(详见 u_strCompare)。
  • U_FOLD_CASE_EXCLUDE_SPECIAL_I
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。
返回值
字符串比较时通常的 <0、0 或 >0

u_strCompare

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strCompare(
  const UChar *s1,
  int32_t length1,
  const UChar *s2,
  int32_t length2,
  UBool codePointOrder
)

比较两个 Unicode 字符串(二进制顺序)。

比较可以在代码单元顺序或码点顺序中完成。它们仅在 UTF-16 中将增补码点 (U+10000..U+10ffff) 与 BMP 末尾附近的 BMP 码点 (即 U+e000..U+ffff) 进行比较时有所不同。在代码单元顺序中,高位 BMP 码点排在增补码点之后,因为它们存储为代理对,位于 U+d800..U+dfff。

此函数适用于具有不同明确指定长度的字符串,与类似 ANSI C 的 u_strcmp()u_memcmp() 等函数不同。使用长度参数 -1 可以处理 NULL 终止字符串。

详情
参数
s1
第一个源字符串。
length1
第一个源字符串的长度,如果为 NULL 终止,则为 -1。
s2
第二个源字符串。
length2
第二个源字符串的长度,如果为 NULL 终止,则为 -1。
codePointOrder
选择代码单元顺序 (false) 或码点顺序 (true)。
返回值
字符串比较时通常的 <0、0 或 >0

u_strFindFirst

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strFindFirst(
  const UChar *s,
  int32_t length,
  const UChar *substring,
  int32_t subLength
)

在字符串中查找子字符串第一次出现的位置。

子字符串在码点边界处找到。这意味着如果子字符串以尾随代理项开头或以引导代理项结尾,则只有当这些代理项在文本中独立存在时才找到。否则,子字符串边缘单元将与代理对的一半进行匹配。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串。
name
s 的长度(UChar 数),如果为 NULL 终止,则为 -1。
substring
要查找的子字符串(NULL 终止)。
subLength
子字符串的长度(UChar 数),如果为 NULL 终止,则为 -1。
返回值
指向 s 中第一次出现 substring 的指针,如果 substring 为空,则指向 s 本身,如果 s 中不存在 substring,则为 NULL

参见: u_strstr 参见: u_strFindLast

u_strFindLast

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strFindLast(
  const UChar *s,
  int32_t length,
  const UChar *substring,
  int32_t subLength
)

在字符串中查找子字符串最后一次出现的位置。

子字符串在码点边界处找到。这意味着如果子字符串以尾随代理项开头或以引导代理项结尾,则只有当这些代理项在文本中独立存在时才找到。否则,子字符串边缘单元将与代理对的一半进行匹配。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串。
name
s 的长度(UChar 数),如果为 NULL 终止,则为 -1。
substring
要查找的子字符串(NULL 终止)。
subLength
子字符串的长度(UChar 数),如果为 NULL 终止,则为 -1。
返回值
指向 s 中最后一次出现 substring 的指针,如果 substring 为空,则指向 s 本身,如果 s 中不存在 substring,则为 NULL

参见: u_strstr 参见: u_strFindLast

u_strFoldCase

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strFoldCase(
  UChar *dest,
  int32_t destCapacity,
  const UChar *src,
  int32_t srcLength,
  uint32_t options,
  UErrorCode *pErrorCode
)

对字符串中的字符进行大小写折叠。

大小写折叠与语言环境无关,且不区分上下文,但有一个选项可以选择是否包含或排除在 CaseFolding.txt 中标记为“T”的带点 I 和不带点 i 的映射。

结果可能比原始字符串长或短。源字符串和目标缓冲区允许重叠。

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(UChar 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
src
原始字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
u_foldCase
此函数仅返回简单的单码点大小写映射。应尽可能使用完整大小写映射,因为它们通过处理整个字符串产生更好的结果。它们考虑了字符串上下文和语言,并可以根据需要映射到具有不同长度的结果字符串。完整大小写映射由字符串大小写映射函数应用,参见 ustring.h 和 UnicodeString 类。另请参见用户指南关于 C/POSIX 迁移的章节:https://unicode-org.github.io/icu/userguide/icu/posix#case-mappings
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。
返回值
结果字符串的长度。它可能大于 destCapacity。在这种情况下,只有部分结果写入目标缓冲区。

u_strFromUTF32

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strFromUTF32(
  UChar *dest,
  int32_t destCapacity,
  int32_t *pDestLength,
  const UChar32 *src,
  int32_t srcLength,
  UErrorCode *pErrorCode
)

将 UTF-32 字符串转换为 UTF-16。

如果输入字符串格式不正确,则设置 U_INVALID_CHAR_FOUND 错误代码。

参见: u_strFromUTF32WithSub 参见: u_strToUTF32

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(UChar 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
pDestLength
接收写入目标的单元数的指针。如果 pDestLength!=NULL,则 *pDestLength 总是设置为与所有输入单元的转换相对应的输出单元数,即使在缓冲区溢出的情况下也是如此。
src
原始源字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。
返回值
指向目标缓冲区的指针。

u_strFromUTF32WithSub

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strFromUTF32WithSub(
  UChar *dest,
  int32_t destCapacity,
  int32_t *pDestLength,
  const UChar32 *src,
  int32_t srcLength,
  UChar32 subchar,
  int32_t *pNumSubstitutions,
  UErrorCode *pErrorCode
)

将 UTF-32 字符串转换为 UTF-16。

u_strFromUTF32() 相同,但对于非法输入序列会额外输出 subchar,而不是停止并返回 U_INVALID_CHAR_FOUND 错误代码。如果 subchar==U_SENTINEL,则此函数的行为与 u_strFromUTF32() 完全相同。

参见: u_strFromUTF32 参见: u_strToUTF32WithSub

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(UChar 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
pDestLength
接收写入目标的单元数的指针。如果 pDestLength!=NULL,则 *pDestLength 总是设置为与所有输入单元的转换相对应的输出单元数,即使在缓冲区溢出的情况下也是如此。
src
原始源字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
subchar
用于代替非法输入序列的替换字符,如果函数要返回 U_INVALID_CHAR_FOUND,则为 U_SENTINEL。替换字符可以是任何有效的 Unicode 码点(最高 U+10FFFF),但代理码点(U+D800..U+DFFF)除外。推荐的值是 U+FFFD“替换字符”。
pNumSubstitutions
如果 subchar>=0,则接收替换次数的输出参数。如果未发生替换或 subchar<0,则设置为 0。pNumSubstitutions 可以为 NULL。
要匹配的名称的选择器。
指向标准 ICU 错误代码的指针。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
指向目标缓冲区的指针。

u_strFromUTF8

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strFromUTF8(
  UChar *dest,
  int32_t destCapacity,
  int32_t *pDestLength,
  const char *src,
  int32_t srcLength,
  UErrorCode *pErrorCode
)

将 UTF-8 字符串转换为 UTF-16。

如果输入字符串格式不正确,则设置 U_INVALID_CHAR_FOUND 错误代码。

参见: u_strFromUTF8WithSub 参见: u_strFromUTF8Lenient

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(UChar 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
pDestLength
接收写入目标的单元数的指针。如果 pDestLength!=NULL,则 *pDestLength 总是设置为与所有输入单元的转换相对应的输出单元数,即使在缓冲区溢出的情况下也是如此。
src
原始源字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。
返回值
指向目标缓冲区的指针。

u_strFromUTF8Lenient

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strFromUTF8Lenient(
  UChar *dest,
  int32_t destCapacity,
  int32_t *pDestLength,
  const char *src,
  int32_t srcLength,
  UErrorCode *pErrorCode
)

将 UTF-8 字符串转换为 UTF-16。

u_strFromUTF8() 相同,但此函数设计为非常快速,它通过对格式错误的 UTF-8 序列宽容来实现这一点。此函数旨在用于预期 UTF-8 文本格式正确的环境。

其语义为

  • 格式正确的 UTF-8 文本会正确转换为格式正确的 UTF-16 文本。
  • 函数不会读取超出输入字符串的范围,也不会写入超出 destCapacity 的范围。
  • 格式错误的 UTF-8 会导致可能格式不正确的“垃圾”16 位 Unicode 字符串。函数会在非法序列后少量码点内重新同步到有效的码点边界。
  • 不会检测非最短形式,并会导致“欺骗性”输出。

为了进一步提高性能,如果给出了 srcLength(>=0),则 destCapacity 必须 >= srcLength。

没有逆向的 u_strToUTF8Lenient() 函数,因为不检查 UTF-16 字符串是否格式正确几乎没有性能提升。

参见: u_strFromUTF8 参见: u_strFromUTF8WithSub 参见: u_strToUTF8WithSub

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(UChar 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。与其他 ICU 函数不同,如果 srcLength>=0,则 destCapacity 必须 >= srcLength。
pDestLength
接收写入目标的单元数的指针。如果 pDestLength!=NULL,则 *pDestLength 总是设置为与所有输入单元的转换相对应的输出单元数,即使在缓冲区溢出的情况下也是如此。与其他 ICU 函数不同,如果 srcLength>=0 但 destCapacity
src
原始源字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
要匹配的名称的选择器。
指向标准 ICU 错误代码的指针。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
指向目标缓冲区的指针。

u_strFromUTF8WithSub

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strFromUTF8WithSub(
  UChar *dest,
  int32_t destCapacity,
  int32_t *pDestLength,
  const char *src,
  int32_t srcLength,
  UChar32 subchar,
  int32_t *pNumSubstitutions,
  UErrorCode *pErrorCode
)

将 UTF-8 字符串转换为 UTF-16。

u_strFromUTF8() 相同,但对于非法输入序列会额外输出 subchar,而不是停止并返回 U_INVALID_CHAR_FOUND 错误代码。如果 subchar==U_SENTINEL,则此函数的行为与 u_strFromUTF8() 完全相同。

参见: u_strFromUTF8 参见: u_strFromUTF8Lenient 参见: u_strToUTF8WithSub

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(UChar 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
pDestLength
接收写入目标的单元数的指针。如果 pDestLength!=NULL,则 *pDestLength 总是设置为与所有输入单元的转换相对应的输出单元数,即使在缓冲区溢出的情况下也是如此。
src
原始源字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
subchar
用于代替非法输入序列的替换字符,如果函数要返回 U_INVALID_CHAR_FOUND,则为 U_SENTINEL。替换字符可以是任何有效的 Unicode 码点(最高 U+10FFFF),但代理码点(U+D800..U+DFFF)除外。推荐的值是 U+FFFD“替换字符”。
pNumSubstitutions
如果 subchar>=0,则接收替换次数的输出参数。如果未发生替换或 subchar<0,则设置为 0。pNumSubstitutions 可以为 NULL。
要匹配的名称的选择器。
指向标准 ICU 错误代码的指针。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
指向目标缓冲区的指针。

u_strHasMoreChar32Than

声明于 unicode/uversion.h
U_CAPIUBool U_EXPORT2 u_strHasMoreChar32Than(
  const UChar *s,
  int32_t length,
  int32_t number
)

检查字符串是否包含比某个数字更多的 Unicode 码点。

这比计算整个字符串中的所有码点并将该数字与阈值进行比较更有效率。如果长度已知(非 NULL 终止字符串的 -1)并且在某个范围内,此函数可能根本无需扫描字符串,并且无需计算超过“number+1”个码点。逻辑上等效于 (u_countChar32(s, length)>number)。一个 Unicode 码点可能占用一个或两个 UChar 代码单元。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
此函数基本上是 U16_FWD_N() 宏的反向操作(参见 utf.h)。
name
字符串的长度,如果为 NULL 终止,则为 -1。
number
将字符串中的码点数与“number”参数进行比较。
返回值
布尔值,表示字符串是否包含的 Unicode 码点数多于“number”。与 (u_countChar32(s, length)>number) 相同。

u_strToLower

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strToLower(
  UChar *dest,
  int32_t destCapacity,
  const UChar *src,
  int32_t srcLength,
  const char *locale,
  UErrorCode *pErrorCode
)

将字符串中的字符转换为小写。

大小写区分语言环境且区分上下文。结果可能比原始字符串长或短。源字符串和目标缓冲区允许重叠。

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(UChar 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
src
原始字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
locale
要考虑的语言环境,根语言环境为 "",默认语言环境为 NULL。
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。
返回值
结果字符串的长度。它可能大于 destCapacity。在这种情况下,只有部分结果写入目标缓冲区。

u_strToTitle

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strToTitle(
  UChar *dest,
  int32_t destCapacity,
  const UChar *src,
  int32_t srcLength,
  UBreakIterator *titleIter,
  const char *locale,
  UErrorCode *pErrorCode
)

将字符串转换为标题大小写。

大小写区分语言环境且区分上下文。首字母大写使用断字迭代器查找要首字母大写的单词的第一个字符。它将这些字符首字母大写,并将所有其他字符小写。

可以提供首字母大写断字迭代器,使用超出标准迭代器的规则和字典自定义任意样式。始终提供迭代器以避免为每个字符串打开和关闭迭代器可能更高效。如果传入的断字迭代器为 null,将使用默认的 Unicode 算法来确定首字母大写位置。

此函数仅使用提供的断字迭代器的 setText()、first() 和 next() 方法。

结果可能比原始字符串长或短。源字符串和目标缓冲区允许重叠。

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(UChar 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
src
原始字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
titleIter
一个断字迭代器,用于查找要首字母大写的单词的第一个字符。如果未提供(NULL),则打开一个标准的首字母大写断字迭代器。
locale
要考虑的语言环境,根语言环境为 "",默认语言环境为 NULL。
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。
返回值
结果字符串的长度。它可能大于 destCapacity。在这种情况下,只有部分结果写入目标缓冲区。

u_strToUTF32

声明于 unicode/uversion.h
U_CAPIUChar32 *U_EXPORT2 u_strToUTF32(
  UChar32 *dest,
  int32_t destCapacity,
  int32_t *pDestLength,
  const UChar *src,
  int32_t srcLength,
  UErrorCode *pErrorCode
)

将 UTF-16 字符串转换为 UTF-32。

如果输入字符串格式不正确,则设置 U_INVALID_CHAR_FOUND 错误代码。

参见: u_strToUTF32WithSub 参见: u_strFromUTF32

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(UChar32 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
pDestLength
接收写入目标的单元数的指针。如果 pDestLength!=NULL,则 *pDestLength 总是设置为与所有输入单元的转换相对应的输出单元数,即使在缓冲区溢出的情况下也是如此。
src
原始源字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。
返回值
指向目标缓冲区的指针。

u_strToUTF32WithSub

声明于 unicode/uversion.h
U_CAPIUChar32 *U_EXPORT2 u_strToUTF32WithSub(
  UChar32 *dest,
  int32_t destCapacity,
  int32_t *pDestLength,
  const UChar *src,
  int32_t srcLength,
  UChar32 subchar,
  int32_t *pNumSubstitutions,
  UErrorCode *pErrorCode
)

将 UTF-16 字符串转换为 UTF-32。

u_strToUTF32() 相同,但对于非法输入序列会额外输出 subchar,而不是停止并返回 U_INVALID_CHAR_FOUND 错误代码。如果 subchar==U_SENTINEL,则此函数的行为与 u_strToUTF32() 完全相同。

参见: u_strToUTF32 参见: u_strFromUTF32WithSub

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(UChar32 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
pDestLength
接收写入目标的单元数的指针。如果 pDestLength!=NULL,则 *pDestLength 总是设置为与所有输入单元的转换相对应的输出单元数,即使在缓冲区溢出的情况下也是如此。
src
原始源字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
subchar
用于代替非法输入序列的替换字符,如果函数要返回 U_INVALID_CHAR_FOUND,则为 U_SENTINEL。替换字符可以是任何有效的 Unicode 码点(最高 U+10FFFF),但代理码点(U+D800..U+DFFF)除外。推荐的值是 U+FFFD“替换字符”。
pNumSubstitutions
如果 subchar>=0,则接收替换次数的输出参数。如果未发生替换或 subchar<0,则设置为 0。pNumSubstitutions 可以为 NULL。
要匹配的名称的选择器。
指向标准 ICU 错误代码的指针。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
指向目标缓冲区的指针。

u_strToUTF8

声明于 unicode/uversion.h
U_CAPI char *U_EXPORT2 u_strToUTF8(
  char *dest,
  int32_t destCapacity,
  int32_t *pDestLength,
  const UChar *src,
  int32_t srcLength,
  UErrorCode *pErrorCode
)

将 UTF-16 字符串转换为 UTF-8。

如果输入字符串格式不正确,则设置 U_INVALID_CHAR_FOUND 错误代码。

参见: u_strToUTF8WithSub 参见: u_strFromUTF8

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(char 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
pDestLength
接收写入目标的单元数的指针。如果 pDestLength!=NULL,则 *pDestLength 总是设置为与所有输入单元的转换相对应的输出单元数,即使在缓冲区溢出的情况下也是如此。
src
原始源字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。
返回值
指向目标缓冲区的指针。

u_strToUTF8WithSub

声明于 unicode/uversion.h
U_CAPI char *U_EXPORT2 u_strToUTF8WithSub(
  char *dest,
  int32_t destCapacity,
  int32_t *pDestLength,
  const UChar *src,
  int32_t srcLength,
  UChar32 subchar,
  int32_t *pNumSubstitutions,
  UErrorCode *pErrorCode
)

将 UTF-16 字符串转换为 UTF-8。

u_strToUTF8() 相同,但对于非法输入序列会额外输出 subchar,而不是停止并返回 U_INVALID_CHAR_FOUND 错误代码。如果 subchar==U_SENTINEL,则此函数的行为与 u_strToUTF8() 完全相同。

参见: u_strToUTF8 参见: u_strFromUTF8WithSub

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(char 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
pDestLength
接收写入目标的单元数的指针。如果 pDestLength!=NULL,则 *pDestLength 总是设置为与所有输入单元的转换相对应的输出单元数,即使在缓冲区溢出的情况下也是如此。
src
原始源字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
subchar
用于代替非法输入序列的替换字符,如果函数要返回 U_INVALID_CHAR_FOUND,则为 U_SENTINEL。替换字符可以是任何有效的 Unicode 码点(最高 U+10FFFF),但代理码点(U+D800..U+DFFF)除外。推荐的值是 U+FFFD“替换字符”。
pNumSubstitutions
如果 subchar>=0,则接收替换次数的输出参数。如果未发生替换或 subchar<0,则设置为 0。pNumSubstitutions 可以为 NULL。
要匹配的名称的选择器。
指向标准 ICU 错误代码的指针。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
指向目标缓冲区的指针。

u_strToUpper

声明于 unicode/uversion.h
U_CDECL_ENDU_CAPI int32_t U_EXPORT2 u_strToUpper(
  UChar *dest,
  int32_t destCapacity,
  const UChar *src,
  int32_t srcLength,
  const char *locale,
  UErrorCode *pErrorCode
)

将字符串中的字符转换为大写。

大小写区分语言环境且区分上下文。结果可能比原始字符串长或短。源字符串和目标缓冲区允许重叠。

详情
参数
dest
结果字符串的缓冲区。如果缓冲区足够大,结果将以零终止。
destCapacity
缓冲区的大小(UChar 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
src
原始字符串
srcLength
原始字符串的长度。如果为 -1,则 src 必须为零终止。
locale
要考虑的语言环境,根语言环境为 "",默认语言环境为 NULL。
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。
返回值
结果字符串的长度。它可能大于 destCapacity。在这种情况下,只有部分结果写入目标缓冲区。

ucol_strcasecmp

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strcasecmp(
  const UChar *s1,
  const UChar *s2,
  uint32_t options
)

使用完整的大小写折叠方式不区分大小写比较两个字符串。

这等效于 u_strcmp(u_strFoldCase(s1, options), u_strFoldCase(s2, options))。

详情
参数
s1
要比较的字符串。
s2
要比较的字符串。
u_foldCase
选项的位集
  • 默认选项使用 U_FOLD_CASE_DEFAULT 或 0:按代码单元顺序比较并进行默认大小写折叠。
  • 设置 U_COMPARE_CODE_POINT_ORDER 以选择按码点顺序而不是代码单元顺序(详见 u_strCompare)。
  • U_FOLD_CASE_EXCLUDE_SPECIAL_I
返回值
指示比较结果的负、零或正整数。

u_strcat

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strcat(
  UChar *dst,
  const UChar *src
)

连接两个 ustrings。

src 的副本(包括空终止符)附加到 dst。从 src 复制的第一个字符会覆盖 dst 中的空终止符。

详情
参数
dst
目标字符串。
src
源字符串。
返回值
指向 dst 的指针。

u_strchr

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strchr(
  const UChar *s,
  UChar c
)

查找 BMP 代码点在字符串中首次出现的位置。

仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串(NULL 终止)。
u_charAge
要查找的 BMP 码点。
返回值
指向 s 中第一次出现 c 的指针,如果 s 中不存在 c,则为 NULL

参见: u_strchr32 参见: u_memchr 参见: u_strstr 参见: u_strFindFirst

u_strchr32

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strchr32(
  const UChar *s,
  UChar32 c
)

查找代码点在字符串中首次出现的位置。

仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串(NULL 终止)。
u_charAge
要查找的码点。
返回值
指向 s 中第一次出现 c 的指针,如果 s 中不存在 c,则为 NULL

参见: u_strchr 参见: u_memchr32 参见: u_strstr 参见: u_strFindFirst

u_strcmp

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strcmp(
  const UChar *s1,
  const UChar *s2
)

比较两个 Unicode 字符串的按位等价性(码元顺序)。

详情
参数
s1
要比较的字符串。
s2
要比较的字符串。
返回值
如果 s1s2 按位相等,则为 0;如果 s1 按位小于 s2,则为负值;如果 s1 按位大于 s2,则为正值。

u_strcmpCodePointOrder

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strcmpCodePointOrder(
  const UChar *s1,
  const UChar *s2
)

按代码点顺序比较两个 Unicode 字符串。

详见 u_strCompare。

详情
参数
s1
要比较的字符串。
s2
要比较的字符串。
返回值
根据第一个字符串在码点顺序中是小于/等于/大于第二个字符串,返回负/零/正整数

u_strcpy

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strcpy(
  UChar *dst,
  const UChar *src
)

复制一个 ustring。

添加一个空终止符。

详情
参数
dst
目标字符串。
src
源字符串。
返回值
指向 dst 的指针。

u_strcspn

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strcspn(
  const UChar *string,
  const UChar *matchSet
)

返回 string 中连续字符的数量(从第一个字符开始),这些字符未出现在 matchSet 中的任何位置。

功能与 C 语言的 strcspn 类似,但支持 Unicode。

参见: u_strspn

详情
参数
string
要搜索的字符串,NULL 终止。
matchSet
一个 NULL 终止字符串,定义要在文本字符串中搜索的码点集合。
返回值
string 中未出现在 matchSet 中的起始字符数。

u_strlen

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strlen(
  const UChar *s
)

确定 UChar 数组的长度。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
UChar 数组,以 NULL (U+0000) 终止。
返回值
chars 中的 UChar 数,减去终止符。

u_strncasecmp

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strncasecmp(
  const UChar *s1,
  const UChar *s2,
  int32_t n,
  uint32_t options
)

使用完整的大小写折叠方式不区分大小写比较两个字符串。

这等效于 u_strcmp(u_strFoldCase(s1, 至多 n, options), u_strFoldCase(s2, 至多 n, options))。

详情
参数
s1
要比较的字符串。
s2
要比较的字符串。
n
要进行大小写折叠并比较的每个字符串的最大字符数。
u_foldCase
选项的位集
  • 默认选项使用 U_FOLD_CASE_DEFAULT 或 0:按代码单元顺序比较并进行默认大小写折叠。
  • 设置 U_COMPARE_CODE_POINT_ORDER 以选择按码点顺序而不是代码单元顺序(详见 u_strCompare)。
  • U_FOLD_CASE_EXCLUDE_SPECIAL_I
返回值
指示比较结果的负、零或正整数。

u_strncat

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strncat(
  UChar *dst,
  const UChar *src,
  int32_t n
)

连接两个 ustrings。

src 中的最多 n 个字符附加到 dst。添加终止 NUL。如果 src 太长,则在终止 NUL 之前只会复制 n-1 个字符。如果 n<=0,则不修改 dst。

详情
参数
dst
目标字符串。
src
源字符串(如果 n<=0,则可以为 NULL/无效)。
n
要附加的最大字符数;如果 <=0,则无操作。
返回值
指向 dst 的指针。

u_strncmp

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strncmp(
  const UChar *ucs1,
  const UChar *ucs2,
  int32_t n
)

比较两个 ustrings 的按位等价性。

比较最多 n 个字符。

详情
参数
ucs1
要比较的字符串(如果 n<=0,则可以为 NULL/无效)。
ucs2
要比较的字符串(如果 n<=0,则可以为 NULL/无效)。
n
要比较的最大字符数;如果 n<=0,则始终返回 0。
返回值
如果 s1s2 按位相等,则为 0;如果 s1 按位小于 s2,则为负值;如果 s1 按位大于 s2,则为正值。

u_strncmpCodePointOrder

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strncmpCodePointOrder(
  const UChar *s1,
  const UChar *s2,
  int32_t n
)

按代码点顺序比较两个 Unicode 字符串。

如果存在增补字符,这与 UTF-16 中的 u_strncmp() 不同。详情请参阅 u_strCompare()

详情
参数
s1
要比较的字符串。
s2
要比较的字符串。
n
要比较的最大字符数。
返回值
根据第一个字符串在码点顺序中是小于/等于/大于第二个字符串,返回负/零/正整数

u_strncpy

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strncpy(
  UChar *dst,
  const UChar *src,
  int32_t n
)

复制一个 ustring。

复制最多 n 个字符。如果 src 的长度小于 n,结果将以 null 终止。

详情
参数
dst
目标字符串。
src
源字符串(如果 n<=0,则可以为 NULL/无效)。
n
要复制的最大字符数;如果 <=0,则无操作。
返回值
指向 dst 的指针。

u_strpbrk

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strpbrk(
  const UChar *string,
  const UChar *matchSet
)

查找字符串 string 中任何字符在字符串 matchSet 中第一次出现的位置。

功能与 C 语言的 strpbrk 类似,但支持 Unicode。

详情
参数
string
要搜索的字符串,NULL 终止。
matchSet
一个 NULL 终止字符串,定义要在文本字符串中搜索的码点集合。
返回值
指向 string 中与 matchSet 中的字符之一匹配的字符的指针,如果未找到此类字符,则为 NULL。

u_strrchr

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strrchr(
  const UChar *s,
  UChar c
)

在字符串中查找 BMP 码点最后一次出现的位置。

仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串(NULL 终止)。
u_charAge
要查找的 BMP 码点。
返回值
指向 s 中最后一次出现 c 的指针,如果 s 中不存在 c,则为 NULL

参见: u_strrchr32 参见: u_memrchr 参见: u_strrstr 参见: u_strFindLast

u_strrchr32

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strrchr32(
  const UChar *s,
  UChar32 c
)

在字符串中查找码点最后一次出现的位置。

仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串(NULL 终止)。
u_charAge
要查找的码点。
返回值
指向 s 中最后一次出现 c 的指针,如果 s 中不存在 c,则为 NULL

参见: u_strrchr 参见: u_memchr32 参见: u_strrstr 参见: u_strFindLast

u_strrstr

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strrstr(
  const UChar *s,
  const UChar *substring
)

在字符串中查找子字符串最后一次出现的位置。

子字符串在码点边界处找到。这意味着如果子字符串以尾随代理项开头或以引导代理项结尾,则只有当这些代理项在文本中独立存在时才找到。否则,子字符串边缘单元将与代理对的一半进行匹配。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串(NULL 终止)。
substring
要查找的子字符串(NULL 终止)。
返回值
指向 s 中最后一次出现 substring 的指针,如果 substring 为空,则指向 s 本身,如果 s 中不存在 substring,则为 NULL

参见: u_strstr 参见: u_strFindFirst 参见: u_strFindLast

u_strspn

声明于 unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strspn(
  const UChar *string,
  const UChar *matchSet
)

返回 string 中连续字符的数量(从第一个字符开始),这些字符出现在 matchSet 中的某个位置。

功能与 C 语言的 strspn 类似,但支持 Unicode。

参见: u_strcspn

详情
参数
string
要搜索的字符串,NULL 终止。
matchSet
一个 NULL 终止字符串,定义要在文本字符串中搜索的码点集合。
返回值
string 中出现在 matchSet 中的起始字符数。

u_strstr

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strstr(
  const UChar *s,
  const UChar *substring
)

在字符串中查找子字符串第一次出现的位置。

子字符串在码点边界处找到。这意味着如果子字符串以尾随代理项开头或以引导代理项结尾,则只有当这些代理项在文本中独立存在时才找到。否则,子字符串边缘单元将与代理对的一半进行匹配。

详情
参数
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
要搜索的字符串(NULL 终止)。
substring
要查找的子字符串(NULL 终止)。
返回值
指向 s 中第一次出现 substring 的指针,如果 substring 为空,则指向 s 本身,如果 s 中不存在 substring,则为 NULL

参见: u_strrstr 参见: u_strFindFirst 参见: u_strFindLast

u_strtok_r

声明于 unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strtok_r(
  UChar *src,
  const UChar *delim,
  UChar **saveState
)

字符串分词器 API 允许应用程序将字符串分解为词元。

与 strtok() 不同,saveState(原始字符串中的当前指针)保存在 saveState 中。在第一次调用时,参数 src 是指向字符串的指针。在后续调用中返回该字符串的连续标记时,src 必须指定为 NULL。此函数设置 saveState 值以维护函数在字符串中的位置,在每次后续调用中,您必须为该参数提供相同的变量。此函数处理代理对。此函数类似于 POSIX 线程扩展 (1003.1c-1995) 版本的 strtok_r()。

详情
参数
src
包含标记的字符串。此字符串将被修改。在第一次调用 u_strtok_r() 后,此参数必须为 NULL 才能获取下一个标记。
delim
分隔符字符集(Unicode 码点)。
saveState
原始字符串中的当前指针,由本函数设置。saveState 参数应是 UChar * 类型的局部变量的地址。(即,定义“UChar *myLocalSaveState”并使用 &myLocalSaveState 作为此参数)。
返回值
指向在 src 中找到的下一个标记的指针,或者当没有更多标记时为 NULL。

u_tolower

unicode/uchar.h 中声明
U_CAPIUChar32 U_EXPORT2 u_tolower(
  UChar32 c
)

根据 UnicodeData.txt 将给定字符映射到其小写等效项;如果该字符没有小写等效项,则返回该字符本身。

与 java.lang.Character.toLowerCase() 相同。

该字符串将与上面 UErrorCode 枚举中的错误码常量名称相同。

详情
参数
u_charAge
对于具有 Bidi_Mirrored 属性的字符,实现有时需要一种“简陋”的映射到另一个 Unicode 字符(码点),以便其默认字形可以作为指定字符的默认字形的镜像。这对于文本与具有视觉顺序的代码页之间的转换以及没有字形选择功能的显示非常有用。
返回值
码点的 Simple_Lowercase_Mapping(如果存在);否则为码点本身。

u_totitle

unicode/uchar.h 中声明
U_CAPIUChar32 U_EXPORT2 u_totitle(
  UChar32 c
)

根据 UnicodeData.txt 将给定字符映射到其标题大小写等效项;如果未定义,则返回该字符本身。

与 java.lang.Character.toTitleCase() 相同。

该字符串将与上面 UErrorCode 枚举中的错误码常量名称相同。

详情
参数
u_charAge
对于具有 Bidi_Mirrored 属性的字符,实现有时需要一种“简陋”的映射到另一个 Unicode 字符(码点),以便其默认字形可以作为指定字符的默认字形的镜像。这对于文本与具有视觉顺序的代码页之间的转换以及没有字形选择功能的显示非常有用。
返回值
码点的 Simple_Titlecase_Mapping(如果存在);否则为码点本身。

u_toupper

unicode/uchar.h 中声明
U_CAPIUChar32 U_EXPORT2 u_toupper(
  UChar32 c
)

根据 UnicodeData.txt 将给定字符映射到其大写等效项;如果该字符没有大写等效项,则返回该字符本身。

与 java.lang.Character.toUpperCase() 相同。

该字符串将与上面 UErrorCode 枚举中的错误码常量名称相同。

详情
参数
u_charAge
对于具有 Bidi_Mirrored 属性的字符,实现有时需要一种“简陋”的映射到另一个 Unicode 字符(码点),以便其默认字形可以作为指定字符的默认字形的镜像。这对于文本与具有视觉顺序的代码页之间的转换以及没有字形选择功能的显示非常有用。
返回值
码点的 Simple_Uppercase_Mapping(如果存在);否则为码点本身。

u_versionToString

使用 utrans_openxxx() 打开,完成后使用 utrans_close() 关闭。等同于 C++ 类 Transliterator 及其子类。另请参阅:Transliterator
U_CAPI void U_EXPORT2 u_versionToString(
  const UVersionInfo versionArray,
  char *versionString
)

根据输入的 UVersionInfo 写入带点分版本信息的字符串。

此函数的定义位于 putil.c 中

详情
参数
c
要写入为字符串的版本信息。
versionString
一个字符串缓冲区,将填充与 versionArray 中的数字版本信息对应的字符串。缓冲区大小必须至少为 U_MAX_VERSION_STRING_LENGTH。

ubrk_clone

声明于 unicode/ubrk.h
U_CAPIUBreakIterator *U_EXPORT2 ubrk_clone(
  const UBreakIterator *bi,
  UErrorCode *status
)

线程安全克隆操作。

详情
参数
bi
要克隆的迭代器
status
指示操作是顺利进行还是存在错误
返回值
指向新克隆的指针

ubrk_close

声明于 unicode/ubrk.h
U_CAPI void U_EXPORT2 ubrk_close(
  UBreakIterator *bi
)

关闭 UBreakIterator。

关闭后,UBreakIterator 将不再可用。

详情
参数
bi
要关闭的断字迭代器。

ubrk_countAvailable

声明于 unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_countAvailable(
  void
)

确定有多少区域设置具有可用的文本断行信息。

此函数最常用于确定调用 ubrk_getAvailable 的循环结束条件。参见:ubrk_getAvailable

详情
返回值
文本断字信息可用的语言环境数。

ubrk_current

声明于 unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_current(
  const UBreakIterator *bi
)

确定最近返回的文本边界。

详情
参数
bi
要使用的断字迭代器。
返回值
最近由 ubrk_nextubrk_previousubrk_firstubrk_last 返回的字符索引。

ubrk_first

声明于 unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_first(
  UBreakIterator *bi
)

将迭代器位置设置为零,即要扫描文本的开始。

参见: ubrk_last

详情
参数
bi
要使用的断字迭代器。
返回值
新的迭代器位置(零)。

ubrk_following

声明于 unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_following(
  UBreakIterator *bi,
  int32_t offset
)

将迭代器向前移动到指定偏移量后的第一个边界。

返回的值总是大于 offset,或者 UBRK_DONE。参见:ubrk_preceding

详情
参数
bi
要使用的断字迭代器。
上下文指针将是传递给 u_unescapeAt() 的任何内容。
开始扫描的偏移量。
返回值
偏移量后的文本边界,或者 UBRK_DONE。

ubrk_getAvailable

声明于 unicode/ubrk.h
U_CAPI const char *U_EXPORT2 ubrk_getAvailable(
  int32_t index
)

获取具有可用文本断行信息的区域设置。

由此函数返回的语言环境中的 UBreakIterator 将执行该语言环境的正确文本断字。参见:ubrk_countAvailable

详情
参数
index
所需语言环境的索引。
返回值
可获得数字文本断字信息的语言环境,如果不存在则为 0。

ubrk_getRuleStatus

声明于 unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_getRuleStatus(
  UBreakIterator *bi
)

返回确定最近返回的断行位置的断行规则的状态。

这些值出现在规则源中的方括号内,例如 {123}。对于未指定状态的规则,返回默认值 0。

对于单词断字迭代器,可能的值在枚举 UWordBreak 中定义。

ubrk_getRuleStatusVec

声明于 unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_getRuleStatusVec(
  UBreakIterator *bi,
  int32_t *fillInVec,
  int32_t capacity,
  UErrorCode *status
)

获取确定最近返回的断行位置的断行规则的状态。

这些值出现在规则源的方括号内,例如 {123}。未明确提供状态的规则的默认状态值为零。

对于单词断字迭代器,可能的值在枚举 UWordBreak 中定义。

详情
参数
bi
要使用的断字迭代器
fillInVec
用于填充状态值的数组。
capacity
提供的向量的长度。长度为零会导致函数以正常方式返回状态值的数量,而不尝试存储任何值。
status
接收错误代码。
返回值
由规则确定的最近边界的状态值数量,该规则由断字迭代器返回。

ubrk_isBoundary

声明于 unicode/ubrk.h
U_CAPIUBool U_EXPORT2 ubrk_isBoundary(
  UBreakIterator *bi,
  int32_t offset
)

如果指定位置是边界位置,则返回 true。

作为副作用,使迭代器指向位于或在“offset”之后的第一个边界位置。

详情
参数
bi
要使用的断字迭代器。
上下文指针将是传递给 u_unescapeAt() 的任何内容。
要检查的偏移量。
返回值
如果“offset”是边界位置,则为 True。

ubrk_last

声明于 unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_last(
  UBreakIterator *bi
)

将迭代器位置设置为要扫描文本中最后一个字符 之后 的索引。

这与最后一个字符不同。参见:ubrk_first

详情
参数
bi
要使用的断字迭代器。
返回值
要扫描的文本中最后一个字符的紧邻之后的字符偏移量。

ubrk_next

声明于 unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_next(
  UBreakIterator *bi
)

将迭代器向前移动到当前边界后的边界。

参见: ubrk_previous

详情
参数
bi
要使用的断字迭代器。
返回值
下一个文本边界的字符索引,如果已返回所有文本边界,则为 UBRK_DONE。

ubrk_open

声明于 unicode/ubrk.h
U_CAPIUBreakIterator *U_EXPORT2 ubrk_open(
  UBreakIteratorType type,
  const char *locale,
  const UChar *text,
  int32_t textLength,
  UErrorCode *status
)

打开一个新的 UBreakIterator,用于定位指定区域设置的文本边界。

UBreakIterator 可用于检测文本中的字符、行、单词和句子断点。参见:ubrk_openRules

详情
参数
要打开的 UBreakIterator 类型:UBRK_CHARACTER、UBRK_WORD、UBRK_LINE、UBRK_SENTENCE 之一
locale
指定文本断字约定的语言环境。请注意,可以使用“lb”和“ss”等语言环境键来修改文本断字行为,请参阅 BreakIterator C API 的一般讨论。
text
要迭代的文本。可以为 null,在这种情况下使用 ubrk_setText() 来指定要迭代的文本。
textLength
text 中的字符数,如果为 null 终止,则为 -1。
status
一个 UErrorCode,用于接收任何错误。
返回值
指定语言环境的 UBreakIterator。

ubrk_preceding

声明于 unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_preceding(
  UBreakIterator *bi,
  int32_t offset
)

将迭代器位置设置为指定偏移量前的第一个边界。

新位置总是小于 offset,或者 UBRK_DONE。参见:ubrk_following

详情
参数
bi
要使用的断字迭代器。
上下文指针将是传递给 u_unescapeAt() 的任何内容。
开始扫描的偏移量。
返回值
偏移量之前的文本边界,或者 UBRK_DONE。

ubrk_previous

声明于 unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_previous(
  UBreakIterator *bi
)

将迭代器位置设置为当前边界前的边界。

参见: ubrk_next

详情
参数
bi
要使用的断字迭代器。
返回值
前一个文本边界的字符索引,如果已返回所有文本边界,则为 UBRK_DONE。

ubrk_setText

声明于 unicode/ubrk.h
U_CAPI void U_EXPORT2 ubrk_setText(
  UBreakIterator *bi,
  const UChar *text,
  int32_t textLength,
  UErrorCode *status
)

设置现有迭代器指向一段新文本。

断字迭代器保留指向提供的文本的指针。在 BreakIterator 保留引用时,调用方不得修改或删除文本。

详情
参数
bi
要使用的迭代器
text
要设置的文本
textLength
文本的长度
status
错误代码

ubrk_setUText

声明于 unicode/ubrk.h
U_CAPI void U_EXPORT2 ubrk_setUText(
  UBreakIterator *bi,
  UText *text,
  UErrorCode *status
)

设置现有迭代器指向一段新文本。

断字迭代器函数返回的所有索引位置都是 UText 的原生索引。例如,在断字 UTF-8 编码文本时,ubrk_nextubrk_previous 等函数返回的断字位置将是 UTF-8 字符串索引,而不是 UTF-16 位置。

详情
参数
bi
要使用的迭代器
text
要设置的文本。此函数对提供的 UText 进行浅克隆。这意味着调用方可以立即关闭或以其他方式重用作为参数传递的 UText,但在断字迭代器引用期间,底层文本本身不得更改。
status
错误代码

ucol_clone

声明于 unicode/ucol.h
U_CAPIUCollator *U_EXPORT2 ucol_clone(
  const UCollator *coll,
  UErrorCode *status
)

线程安全克隆操作。

结果是给定 collator 的克隆。参见:ucol_open参见:ucol_openRules参见:ucol_close

详情
参数
coll
要克隆的 collator
status
指示操作是顺利进行还是存在错误
返回值
指向新克隆的指针

ucol_close

声明于 unicode/ucol.h
U_CAPI void U_EXPORT2 ucol_close(
  UCollator *coll
)

关闭 UCollator。

关闭后,UCollator 不应再使用。每个打开的 collator 都应关闭。否则,将导致内存泄漏。参见:ucol_open参见:ucol_openRules参见:ucol_clone

详情
参数
coll
要关闭的 UCollator。

ucol_countAvailable

声明于 unicode/ucol.h
U_CAPI int32_t U_EXPORT2 ucol_countAvailable(
  void
)

确定有多少区域设置具有可用的排序规则。

此函数最常用于确定调用 ucol_getAvailable 的循环结束条件。参见:ucol_getAvailable

详情
返回值
可获得排序规则的语言环境数。

ucol_getAttribute

声明于 unicode/ucol.h
U_CAPIUColAttributeValue U_EXPORT2 ucol_getAttribute(
  const UCollator *coll,
  UColAttribute attr,
  UErrorCode *status
)

通用属性获取器。

参见: UColAttribute 参见: UColAttributeValue 参见: ucol_setAttribute

详情
参数
coll
要更改属性的 collator
attr
属性类型
参数
status
指示操作是顺利进行还是存在错误
返回值
属性值

ucol_getAvailable

声明于 unicode/ucol.h
U_CAPI const char *U_EXPORT2 ucol_getAvailable(
  int32_t localeIndex
)

获取具有可用排序规则的区域设置。

此函数返回的语言环境中的 UCollator 将执行该语言环境的正确排序。参见:ucol_countAvailable

详情
参数
localeIndex
所需语言环境的索引。
返回值
可获得排序规则的语言环境,如果不存在则为 0。

ucol_getDisplayName

声明于 unicode/ucol.h
U_CAPI int32_t U_EXPORT2 ucol_getDisplayName(
  const char *objLoc,
  const char *dispLoc,
  UChar *result,
  int32_t resultLength,
  UErrorCode *status
)

获取 UCollator 的显示名称。

显示名称适合呈现给用户。

详情
参数
objLoc
相关 collator 的语言环境。
dispLoc
用于显示的语言环境。
result
指向接收属性的缓冲区的指针。
resultLength
result 的最大大小。
status
指向 UErrorCode 的指针,用于接收任何错误
返回值
所需的总缓冲区大小;如果大于 resultLength,输出将被截断。

ucol_getEquivalentReorderCodes

声明于 unicode/ucol.h
U_CAPI int32_t U_EXPORT2 ucol_getEquivalentReorderCodes(
  int32_t reorderCode,
  int32_t *dest,
  int32_t destCapacity,
  UErrorCode *pErrorCode
)

检索与给定重排序代码分组的重排序代码。

一些重排代码将被分组,并且必须一起重排。从 ICU 55 开始,脚本只有当它们主级相等时才会一起重排,例如平假名和片假名。

参见: ucol_setReorderCodes 参见: ucol_getReorderCodes 参见: UScriptCode 参见: UColReorderCode

详情
参数
reorderCode
要确定等效性的重排代码。
dest
用于填充脚本顺序的数组。
destCapacity
dest 的长度。如果为 0,则 dest 可以为 NULL,并且函数将仅返回结果长度,而不写入任何代码(预检)。
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。
返回值
写入 dest 数组的重排代码数。

ucol_getFunctionalEquivalent

声明于 unicode/ucol.h
U_CAPI int32_t U_EXPORT2 ucol_getFunctionalEquivalent(
  char *result,
  int32_t resultCapacity,
  const char *keyword,
  const char *locale,
  UBool *isAvailable,
  UErrorCode *status
)

对于排序服务,返回指定输入区域设置相对于给定关键字的功能上等效的区域设置。

如果两个不同的输入语言环境 + 关键字组合产生相同的结果语言环境,则为这两个不同输入语言环境实例化的 collator 将表现等效。反之不一定总是正确;两个 collator 实际上可能等效,但由于内部细节,返回不同的结果。返回结果除了上述含义外,没有任何其他含义,并且不暗示两个语言环境之间的关系。这适用于希望缓存 collator 或在可能时重用 collator 的应用程序。功能等效项可能会随时间变化。有关更多信息,请参阅 ICU 用户指南的语言环境和服务部分。

详情
参数
result
功能等效结果语言环境的填充缓冲区
resultCapacity
填充缓冲区的容量
keyword
由 ucol_getKeywords 枚举的特定关键字。
locale
指定的输入语言环境
isAvailable
如果非 NULL,则指向一个填充参数,该参数在返回时指示指定的输入语言环境对于排序服务是否“可用”。如果语言环境在物理上存在于排序语言环境数据中,则定义为“可用”。
status
指向输入/输出错误代码的指针
返回值
语言环境所需的实际缓冲区大小。如果大于 resultCapacity,返回的全名将被截断,并返回错误代码。

ucol_getKeywordValues

声明于 unicode/ucol.h
U_CAPIUEnumeration *U_EXPORT2 ucol_getKeywordValues(
  const char *keyword,
  UErrorCode *status
)

给定一个关键字,创建一个字符串枚举器,列出该关键字当前使用的所有值。

详情
参数
keyword
由 ucol_getKeywords 枚举的特定关键字。如果传入任何其他关键字,*status 将设置为 U_ILLEGAL_ARGUMENT_ERROR。
status
输入输出错误代码
返回值
排序关键字值的字符串枚举,出错时为 NULL。调用方负责关闭结果。

ucol_getKeywordValuesForLocale

声明于 unicode/ucol.h
U_CAPIUEnumeration *U_EXPORT2 ucol_getKeywordValuesForLocale(
  const char *key,
  const char *locale,
  UBool commonlyUsed,
  UErrorCode *status
)

给定一个键和区域设置,返回一个按首选顺序排列的字符串值数组,这些值会产生影响。

这些是所有且仅那些值,其中使用由输入语言环境加上输入关键字和该值形成的语言环境打开(创建)服务与仅使用输入语言环境创建服务的行为不同。

详情
参数
key
此服务支持的键之一。目前,仅支持“collation”。
locale
语言环境
commonlyUsed
如果设置为 true,则仅返回给定语言环境中最常用的值,按首选顺序排列。否则,将返回该语言环境的所有可用值。
status
错误状态
返回值
给定键和语言环境的关键字值字符串枚举。

ucol_getKeywords

声明于 unicode/ucol.h
U_CAPIUEnumeration *U_EXPORT2 ucol_getKeywords(
  UErrorCode *status
)

创建一个字符串枚举器,列出与排序相关的所有可能关键字。

目前,此服务唯一识别的关键字是“collation”。

详情
参数
status
输入输出错误代码
返回值
语言环境字符串的字符串枚举。调用方负责关闭结果。

ucol_getMaxVariable

声明于 unicode/ucol.h
U_CAPIUColReorderCode U_EXPORT2 ucol_getMaxVariable(
  const UCollator *coll
)

返回受 UCOL_ALTERNATE_HANDLING 影响的字符的最大重排序组。

参见: ucol_setMaxVariable

详情
参数
coll
collator
返回值
最大可变重排组。

ucol_getReorderCodes

声明于 unicode/ucol.h
U_CAPI int32_t U_EXPORT2 ucol_getReorderCodes(
  const UCollator *coll,
  int32_t *dest,
  int32_t destCapacity,
  UErrorCode *pErrorCode
)

检索此排序器的重排序代码。

这些重排代码是 UScript 代码和 UColReorderCode 条目的组合。参见:ucol_setReorderCodes参见:ucol_getEquivalentReorderCodes参见:UScriptCode参见:UColReorderCode

详情
参数
coll
要查询的 UCollator。
dest
用于填充脚本顺序的数组。
destCapacity
dest 的长度。如果为 0,则 dest 可以为 NULL,并且函数将仅返回结果长度,而不写入任何代码(预检)。
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。
返回值
写入 dest 数组的重排代码数。

ucol_getSortKey

声明于 unicode/ucol.h
U_CAPI int32_t U_EXPORT2 ucol_getSortKey(
  const UCollator *coll,
  const UChar *source,
  int32_t sourceLength,
  uint8_t *result,
  int32_t resultLength
)

从 UCollator 获取字符串的排序键。

可以使用 strcmp 比较排序键。

请注意,排序键通常不如直接比较高效。有关详细信息,请参阅 ICU 用户指南。

与写入输出缓冲区的 ICU 函数类似,如果缓冲区容量 (resultLength 参数) 太小,则缓冲区内容未定义。与写入字符串到输出缓冲区的 ICU 函数不同,终止零字节计算在排序键长度内。参见:ucol_keyHashCode

详情
参数
coll
包含排序规则的 UCollator。
source
要转换的字符串。
sourceLength
source 的长度,如果为 null 终止,则为 -1。
result
指向接收属性的缓冲区的指针。
resultLength
result 的最大大小。
返回值
完全存储排序键所需的空间大小。如果在生成排序键时出现内部错误,则返回零值。

ucol_getStrength

声明于 unicode/ucol.h
U_CAPIUCollationStrength U_EXPORT2 ucol_getStrength(
  const UCollator *coll
)

获取 UCollator 中使用的排序强度。

强度影响字符串的比较方式。参见:ucol_setStrength

详情
参数
coll
要查询的 UCollator。
返回值
排序强度;UCOL_PRIMARY、UCOL_SECONDARY、UCOL_TERTIARY、UCOL_QUATERNARY、UCOL_IDENTICAL 之一

ucol_mergeSortkeys

声明于 unicode/ucol.h
U_CAPI int32_t U_EXPORT2 ucol_mergeSortkeys(
  const uint8_t *src1,
  int32_t src1Length,
  const uint8_t *src2,
  int32_t src2Length,
  uint8_t *dest,
  int32_t destCapacity
)

合并两个排序键。

级别与它们对应的部分(一级与一级,二级与二级等)合并。在同一级别的不同值之间插入一个分隔符。

这对于例如组合名字和姓氏的排序键以排序此类对非常有用。请参阅 http://www.unicode.org/reports/tr10/#Merging_Sort_Keys

实现“合并”排序的推荐方法是使用 U+FFFE 连接字符串。连接后的字符串具有与合并排序键相同的排序顺序,但 merge(getSortKey(str1), getSortKey(str2)) 可能与 getSortKey(str1 + '\uFFFE' + str2) 不同。使用带有 U+FFFE 的字符串可能会产生更短的排序键。

有关排序键功能的详细信息,请参阅https://unicode-org.github.io/icu/userguide/collation/api#sort-key-features

可以通过连续合并另一个排序键与中间结果来合并多个排序键。

合并结果的长度是输入排序键长度的总和。

示例(未压缩)

191B1D 01 050505 01 910505 00
1F2123 01 050505 01 910505 00
将被合并为
191B1D 02 1F2123 01 050505 02 050505 01 910505 02 910505 00

如果目标缓冲区不够大,则其内容未定义。如果任何源长度为零或任何源指针为 NULL/未定义,则结果大小为零。

详情
参数
src1
第一个排序键
src1Length
第一个排序键的长度,包括末尾的零字节;如果函数需要查找长度,则可以为 -1
src2
第二个排序键
src2Length
第二个排序键的长度,包括末尾的零字节;如果函数需要查找长度,则可以为 -1
dest
写入合并排序键的缓冲区,如果 destCapacity==0,则可以为 NULL
destCapacity
dest 缓冲区中的字节数
返回值
合并排序键的长度,src1Length+src2Length;可能大于 destCapacity,或者在发生错误时为 0(仅针对非法参数),在这种情况下,dest 的内容未定义

ucol_open

声明于 unicode/ucol.h
U_CAPIUCollator *U_EXPORT2 ucol_open(
  const char *loc,
  UErrorCode *status
)

打开一个 UCollator 用于比较字符串。

对于某些语言,可以使用多种排序类型;例如,“de@collation=phonebook”。从 ICU 54 开始,排序属性也可以通过语言环境关键字指定,使用旧的语言环境扩展语法(“el@colCaseFirst=upper”)或语言标签语法(“el-u-kf-upper”)。请参阅用户指南:排序 API

UCollator 指针在所有对排序服务的调用中使用。完成后,必须通过调用 ucol_close 来释放 collator。参见:ucol_openRules参见:ucol_clone参见:ucol_close

详情
参数
loc
包含所需排序规则的语言环境。可以传入语言环境的特殊值 - 如果为语言环境传入 NULL,将使用默认语言环境排序规则。如果传入空字符串(“”)或“root”,将返回根 collator。
status
指向 UErrorCode 的指针,用于接收任何错误
返回值
指向 UCollator 的指针,如果发生错误则为 0。

ucol_openAvailableLocales

声明于 unicode/ucol.h
U_CAPIUEnumeration *U_EXPORT2 ucol_openAvailableLocales(
  UErrorCode *status
)

创建一个字符串枚举器,列出所有可以打开有效排序器的区域设置。

详情
参数
status
输入输出错误代码
返回值
语言环境字符串的字符串枚举。调用方负责关闭结果。

ucol_openRules

声明于 unicode/ucol.h
U_CAPIUCollator *U_EXPORT2 ucol_openRules(
  const UChar *rules,
  int32_t rulesLength,
  UColAttributeValue normalizationMode,
  UCollationStrength strength,
  UParseError *parseError,
  UErrorCode *status
)

根据提供的规则生成一个 UCollator 实例。

规则用于更改在 UCA 中定义的默认顺序,这个过程称为定制。生成的 UCollator 指针可以像通过 ucol_open 获取的指针一样使用。参见:ucol_open参见:ucol_clone参见:ucol_close

详情
参数
rules
描述排序规则的字符串。有关规则语法,请参阅用户指南。
rulesLength
rules 的长度,如果为 null 终止,则为 -1。
normalizationMode
规范化模式:UCOL_OFF(预期文本无需规范化)、UCOL_ON(规范化)或 UCOL_DEFAULT(根据规则设置模式)之一
strength
默认排序强度;UCOL_PRIMARY、UCOL_SECONDARY、UCOL_TERTIARY、UCOL_IDENTICAL、UCOL_DEFAULT_STRENGTH 之一 - 也可以在规则中设置。
parseError
指向 UParseError 的指针,用于接收解析过程中发生的错误信息。此参数当前可以设置为 NULL,但用户自行承担风险。请提供一个真实的结构。
status
指向 UErrorCode 的指针,用于接收任何错误
返回值
指向 UCollator 的指针。不保证在错误情况下返回 NULL - 请使用 status 参数检查错误。

ucol_setAttribute

声明于 unicode/ucol.h
U_CAPI void U_EXPORT2 ucol_setAttribute(
  UCollator *coll,
  UColAttribute attr,
  UColAttributeValue value,
  UErrorCode *status
)

通用属性设置器。

参见: UColAttribute 参见: UColAttributeValue 参见: ucol_getAttribute

详情
参数
coll
要更改属性的 collator
attr
属性类型
value
属性值
status
指示操作是顺利进行还是存在错误

ucol_setMaxVariable

声明于 unicode/ucol.h
U_CAPI void U_EXPORT2 ucol_setMaxVariable(
  UCollator *coll,
  UColReorderCode group,
  UErrorCode *pErrorCode
)

将可变顶部设置为指定重排序组的顶部。

可变顶部确定了受 UCOL_ALTERNATE_HANDLING 影响的最高排序字符。如果该属性设置为 UCOL_NON_IGNORABLE,则可变顶部没有效果。参见:ucol_getMaxVariable

详情
参数
coll
collator
group
UCOL_REORDER_CODE_SPACE, UCOL_REORDER_CODE_PUNCTUATION, UCOL_REORDER_CODE_SYMBOL, UCOL_REORDER_CODE_CURRENCY 之一;或 UCOL_REORDER_CODE_DEFAULT 以恢复默认的最大可变组
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)

ucol_setReorderCodes

声明于 unicode/ucol.h
U_CAPI void U_EXPORT2 ucol_setReorderCodes(
  UCollator *coll,
  const int32_t *reorderCodes,
  int32_t reorderCodesLength,
  UErrorCode *pErrorCode
)

设置此排序器的重排序代码。

排序重排允许脚本和一些其他字符组相互移动位置。这种重排是在 DUCET/CLDR 标准排序顺序之上进行的。重排可以指定将某些组放置在排序顺序的开头和/或末尾。这些组使用 UScript 代码和 UColReorderCode 条目指定。

默认情况下,为顺序开头指定的重排代码按照给定的顺序放置在几个特殊的非脚本块之后。这些特殊字符组是空格、标点符号、符号、货币和数字。这些特殊组由 UColReorderCode 条目表示。如果这些特殊组在重排中明确指定,则脚本组可以与这些特殊非脚本组混杂。

特殊代码 OTHERS 代表未在给定的重排代码列表中明确提及的任何脚本。OTHERS 之后的所有内容将按照给定的顺序排在重排的最后。

特殊重排代码 DEFAULT 将此 collator 的重排重置为此 collator 的默认值。默认重排可能是 DUCET/CLDR 顺序,也可能是创建此 collator 时根据资源数据或规则指定的重排。使用 DEFAULT 代码时,它必须是唯一提供的代码。否则,将设置 U_ILLEGAL_ARGUMENT_ERROR。

特殊重排代码 NONE 将移除此 collator 的任何重排。设置无重排的结果是使用 DUCET/CLDR 顺序。使用 NONE 代码时,它必须是唯一提供的代码。

参见: ucol_getReorderCodes 参见: ucol_getEquivalentReorderCodes 参见: UScriptCode 参见: UColReorderCode

详情
参数
coll
要设置的 UCollator。
reorderCodes
新顺序中的脚本代码数组。如果长度也设置为 0,则可以为 NULL。空数组将清除 collator 上的任何重排代码。
reorderCodesLength
reorderCodes 的长度。
要匹配的名称的选择器。
必须是指向错误代码值的有效指针,且在函数调用前不得指示失败。

ucol_setStrength

声明于 unicode/ucol.h
U_CAPI void U_EXPORT2 ucol_setStrength(
  UCollator *coll,
  UCollationStrength strength
)

设置 UCollator 中使用的排序强度。

强度影响字符串的比较方式。参见:ucol_getStrength

详情
参数
coll
要设置的 UCollator。
strength
所需的排序强度;UCOL_PRIMARY、UCOL_SECONDARY、UCOL_TERTIARY、UCOL_QUATERNARY、UCOL_IDENTICAL、UCOL_DEFAULT 之一

ucol_strcoll

声明于 unicode/ucol.h
U_CAPIUCollationResult U_EXPORT2 ucol_strcoll(
  const UCollator *coll,
  const UChar *source,
  int32_t sourceLength,
  const UChar *target,
  int32_t targetLength
)

比较两个字符串。

将使用已指定的选项比较字符串。参见:ucol_greater 参见:ucol_greaterOrEqual 参见:ucol_equal

详情
参数
coll
包含比较规则的 UCollator。
source
源字符串。
sourceLength
source 的长度,如果为 null 终止,则为 -1。
target
目标字符串。
targetLength
target 的长度,如果为 null 终止,则为 -1。
返回值
比较字符串的结果;UCOL_EQUAL、UCOL_GREATER、UCOL_LESS 之一

ucol_strcollUTF8

声明于 unicode/ucol.h
U_CAPIUCollationResult U_EXPORT2 ucol_strcollUTF8(
  const UCollator *coll,
  const char *source,
  int32_t sourceLength,
  const char *target,
  int32_t targetLength,
  UErrorCode *status
)

比较两个 UTF-8 字符串。

将使用已指定的选项比较字符串。注意:当输入字符串包含格式错误的 UTF-8 字节序列时,此函数将这些字节视为 REPLACEMENT CHARACTER (U+FFFD)。参见:ucol_greater 参见:ucol_greaterOrEqual 参见:ucol_equal

详情
参数
coll
包含比较规则的 UCollator。
source
源 UTF-8 字符串。
sourceLength
source 的长度,如果为 null 终止,则为 -1。
target
目标 UTF-8 字符串。
targetLength
target 的长度,如果为 null 终止,则为 -1。
status
指向 UErrorCode 的指针,用于接收任何错误
返回值
比较字符串的结果;UCOL_EQUAL、UCOL_GREATER、UCOL_LESS 之一

uenum_close

名称的长度。
U_CAPI void U_EXPORT2 uenum_close(
  UEnumeration *en
)

释放迭代器正在使用的资源。

如果 en 为 NULL,则不做任何操作。此调用后,由 uenum_unext()uenum_next() 返回的任何 char* 或 UChar* 指针都无效。

详情
参数
en
UEnumeration 结构指针

uenum_count

名称的长度。
U_CAPI int32_t U_EXPORT2 uenum_count(
  UEnumeration *en,
  UErrorCode *status
)

返回迭代器遍历的元素数量。

如果迭代器与其服务不同步,则 status 设置为 U_ENUM_OUT_OF_SYNC_ERROR。这是一个便捷函数。它最终可能会非常耗时,因为所有项可能都必须预取(取决于遍历的数据类型)。请谨慎使用,仅在必要时使用。

详情
参数
en
UEnumeration 结构指针
status
错误代码,如果迭代器不同步,则可能为 U_ENUM_OUT_OF_SYNC_ERROR。
返回值
迭代器中的元素数量

uenum_next

名称的长度。
U_CAPI const char *U_EXPORT2 uenum_next(
  UEnumeration *en,
  int32_t *resultLength,
  UErrorCode *status
)

返回迭代器列表中的下一个元素。

如果没有更多元素,则返回 NULL。如果迭代器与其服务不同步,则 status 设置为 U_ENUM_OUT_OF_SYNC_ERROR 并返回 NULL。如果本地服务字符串是 UChar* 字符串,则使用不变转换器将其转换为 char*。结果以 (char)0 终止。如果转换失败(因为字符无法转换),则 status 设置为 U_INVARIANT_CONVERSION_ERROR,返回值为未定义(但非 NULL)。

详情
参数
en
迭代器对象
resultLength
指向接收结果长度的指针(不包括终止 \0)。如果指针为 NULL,则忽略。
status
错误代码,如果迭代器与其服务不同步,则设置为 U_ENUM_OUT_OF_SYNC_ERROR。如果底层本地字符串是 UChar* 且使用不变转换器转换为 char* 失败,则设置为 U_INVARIANT_CONVERSION_ERROR。此错误仅与当前字符串有关,因此迭代可能能够成功继续。
返回值
指向字符串的指针。字符串将以零终止。返回的指针由本迭代器拥有,调用方不得删除。该指针在下次调用任何 uenum_... 方法之前有效,包括 uenum_next()uenum_unext()。遍历完所有字符串后,返回 NULL。

uenum_openCharStringsEnumeration

名称的长度。
U_CAPIUEnumeration *U_EXPORT2 uenum_openCharStringsEnumeration(
  const char *const strings[],
  int32_t count,
  UErrorCode *ec
)

给定一个 const char* 字符串数组(仅限不变字符),返回一个 UEnumeration。

0..count-1 的字符串指针不能为 null。在通过 uenum_close 销毁此对象之前,不要释放或修改字符串数组或其指向的字符。

See also:uenum_close

Details
Parameters
strings
array of char* strings (each null terminated). All storage is owned by the caller.
count
length of the array
ec
error code
Returns
the new UEnumeration object. Caller is responsible for calling uenum_close to free memory

uenum_openUCharStringsEnumeration

声明于 unicode/uenum.h
U_CAPIUEnumeration *U_EXPORT2 uenum_openUCharStringsEnumeration(
  const UChar *const strings[],
  int32_t count,
  UErrorCode *ec
)

给定一个 const UChar* 字符串数组,返回一个 UEnumeration。

0..count-1 的字符串指针不能为 null。在通过 uenum_close 销毁此对象之前,不要释放或修改字符串数组或其指向的字符。

See also:uenum_close

Details
Parameters
strings
array of const UChar* strings (each null terminated). All storage is owned by the caller.
count
length of the array
ec
error code
Returns
the new UEnumeration object. Caller is responsible for calling uenum_close to free memory.

uenum_reset

声明于 unicode/uenum.h
U_CAPI void U_EXPORT2 uenum_reset(
  UEnumeration *en,
  UErrorCode *status
)

将迭代器重置为当前服务 ID 列表。

这会与服务重新建立同步并将迭代器重置到第一个元素开始。

详情
参数
en
迭代器对象
status
错误代码,如果迭代器与其服务不同步,则设置为 U_ENUM_OUT_OF_SYNC_ERROR。

uenum_unext

名称的长度。
U_CAPI const UChar *U_EXPORT2 uenum_unext(
  UEnumeration *en,
  int32_t *resultLength,
  UErrorCode *status
)

返回迭代器列表中的下一个元素。

如果没有更多元素,则返回 NULL。如果迭代器与其服务不同步,则 status 设置为 U_ENUM_OUT_OF_SYNC_ERROR 并返回 NULL。如果本地服务字符串是 char* 字符串,则使用不变转换器将其转换为 UChar*。结果以 (UChar)0 终止。

详情
参数
en
迭代器对象
resultLength
指向接收结果长度的指针(不包括终止 \0)。如果指针为 NULL,则忽略。
status
错误代码,如果迭代器与其服务不同步,则设置为 U_ENUM_OUT_OF_SYNC_ERROR。
返回值
指向字符串的指针。字符串将以零终止。返回的指针由本迭代器拥有,调用方不得删除。该指针在下次调用任何 uenum_... 方法之前有效,包括 uenum_next()uenum_unext()。遍历完所有字符串后,返回 NULL。

uldn_close

声明于 unicode/uldnames.h
U_CAPI void U_EXPORT2 uldn_close(
  ULocaleDisplayNames *ldn
)

关闭从 uldn_open() 获取的 ULocaleDisplayNames 实例。

详情
参数
ldn
要关闭的 ULocaleDisplayNames 实例

uldn_getContext

声明于 unicode/uldnames.h
U_CAPIUDisplayContext U_EXPORT2 uldn_getContext(
  const ULocaleDisplayNames *ldn,
  UDisplayContextType type,
  UErrorCode *pErrorCode
)

返回指定 UDisplayContextType 的 UDisplayContext 值。

详情
参数
ldn
ULocaleDisplayNames 实例
要返回其值的 UDisplayContextType
要匹配的名称的选择器。
指向 UErrorCode 输入/输出状态的指针。如果在入口时指示失败状态,则函数将不执行任何操作;否则,将使用函数中的任何新状态更新此值。
返回值
指定类型的 UDisplayContextValue。

uldn_getDialectHandling

声明于 unicode/uldnames.h
U_CAPIUDialectHandling U_EXPORT2 uldn_getDialectHandling(
  const ULocaleDisplayNames *ldn
)

返回显示名称中使用的方言处理方式。

详情
参数
ldn
LocaleDisplayNames 实例
返回值
方言处理枚举

uldn_getLocale

声明于 unicode/uldnames.h
U_CAPI const char *U_EXPORT2 uldn_getLocale(
  const ULocaleDisplayNames *ldn
)

返回用于确定显示名称的区域设置。

这不一定与传递给 uldn_open 的语言环境相同。

详情
参数
ldn
LocaleDisplayNames 实例
返回值
显示语言环境

uldn_keyDisplayName

声明于 unicode/uldnames.h
U_CAPI int32_t U_EXPORT2 uldn_keyDisplayName(
  const ULocaleDisplayNames *ldn,
  const char *key,
  UChar *result,
  int32_t maxResultSize,
  UErrorCode *pErrorCode
)

返回提供的区域设置关键字的显示名称。

详情
参数
ldn
LocaleDisplayNames 实例
key
要返回其显示名称的语言环境键
result
接收显示名称
maxResultSize
结果缓冲区的大小
要匹配的名称的选择器。
状态码
返回值
显示名称所需的实际缓冲区大小。如果大于 maxResultSize,返回的名称将被截断。

uldn_keyValueDisplayName

声明于 unicode/uldnames.h
U_CAPI int32_t U_EXPORT2 uldn_keyValueDisplayName(
  const ULocaleDisplayNames *ldn,
  const char *key,
  const char *value,
  UChar *result,
  int32_t maxResultSize,
  UErrorCode *pErrorCode
)

返回提供的值的显示名称(与提供的键一起使用)。

详情
参数
ldn
LocaleDisplayNames 实例
key
语言环境键
value
语言环境键的值
result
接收显示名称
maxResultSize
结果缓冲区的大小
要匹配的名称的选择器。
状态码
返回值
显示名称所需的实际缓冲区大小。如果大于 maxResultSize,返回的名称将被截断。

uldn_languageDisplayName

声明于 unicode/uldnames.h
U_CAPI int32_t U_EXPORT2 uldn_languageDisplayName(
  const ULocaleDisplayNames *ldn,
  const char *lang,
  UChar *result,
  int32_t maxResultSize,
  UErrorCode *pErrorCode
)

返回提供的语言代码的显示名称。

详情
参数
ldn
LocaleDisplayNames 实例
lang
要返回其显示名称的语言代码
result
接收显示名称
maxResultSize
结果缓冲区的大小
要匹配的名称的选择器。
状态码
返回值
显示名称所需的实际缓冲区大小。如果大于 maxResultSize,返回的名称将被截断。

uldn_localeDisplayName

声明于 unicode/uldnames.h
U_CAPI int32_t U_EXPORT2 uldn_localeDisplayName(
  const ULocaleDisplayNames *ldn,
  const char *locale,
  UChar *result,
  int32_t maxResultSize,
  UErrorCode *pErrorCode
)

返回提供的区域设置的显示名称。

详情
参数
ldn
LocaleDisplayNames 实例
locale
要返回其显示名称的语言环境
result
接收显示名称
maxResultSize
结果缓冲区的大小
要匹配的名称的选择器。
状态码
返回值
显示名称所需的实际缓冲区大小。如果大于 maxResultSize,返回的名称将被截断。

uldn_open

声明于 unicode/uldnames.h
U_CAPIULocaleDisplayNames *U_EXPORT2 uldn_open(
  const char *locale,
  UDialectHandling dialectHandling,
  UErrorCode *pErrorCode
)

返回一个 LocaleDisplayNames 实例,该实例使用提供的 dialectHandling 返回针对提供的区域设置格式化的名称。

dialectHandling 的常用值为 ULOC_STANDARD_NAMES。

详情
参数
locale
显示语言环境
dialectHandling
如何选择语言环境的名称
参数
要匹配的名称的选择器。
状态码
返回值
ULocaleDisplayNames 实例

uldn_openForContext

声明于 unicode/uldnames.h
U_CAPIULocaleDisplayNames *U_EXPORT2 uldn_openForContext(
  const char *locale,
  UDisplayContext *contexts,
  int32_t length,
  UErrorCode *pErrorCode
)

返回一个 LocaleDisplayNames 实例,该实例使用提供的 UDisplayContext 设置返回针对提供的区域设置格式化的名称。

详情
参数
locale
显示语言环境
contexts
一个或多个上下文设置列表(例如,用于方言处理、大小写转换等)。
name
contexts 列表中的项目数
要匹配的名称的选择器。
指向 UErrorCode 输入/输出状态的指针。如果在入口时指示失败状态,则函数将不执行任何操作;否则,将使用函数中的任何新状态更新此值。
返回值
ULocaleDisplayNames 实例

uldn_regionDisplayName

声明于 unicode/uldnames.h
U_CAPI int32_t U_EXPORT2 uldn_regionDisplayName(
  const ULocaleDisplayNames *ldn,
  const char *region,
  UChar *result,
  int32_t maxResultSize,
  UErrorCode *pErrorCode
)

返回提供的地区代码的显示名称。

详情
参数
ldn
LocaleDisplayNames 实例
region
要返回其显示名称的区域代码
result
接收显示名称
maxResultSize
结果缓冲区的大小
要匹配的名称的选择器。
状态码
返回值
显示名称所需的实际缓冲区大小。如果大于 maxResultSize,返回的名称将被截断。

uldn_scriptCodeDisplayName

声明于 unicode/uldnames.h
U_CAPI int32_t U_EXPORT2 uldn_scriptCodeDisplayName(
  const ULocaleDisplayNames *ldn,
  UScriptCode scriptCode,
  UChar *result,
  int32_t maxResultSize,
  UErrorCode *pErrorCode
)

返回提供的脚本代码的显示名称。

详情
参数
ldn
LocaleDisplayNames 实例
scriptCode
要返回其显示名称的脚本代码
result
接收显示名称
maxResultSize
结果缓冲区的大小
要匹配的名称的选择器。
状态码
返回值
显示名称所需的实际缓冲区大小。如果大于 maxResultSize,返回的名称将被截断。

uldn_scriptDisplayName

声明于 unicode/uldnames.h
U_CAPI int32_t U_EXPORT2 uldn_scriptDisplayName(
  const ULocaleDisplayNames *ldn,
  const char *script,
  UChar *result,
  int32_t maxResultSize,
  UErrorCode *pErrorCode
)

返回提供的脚本的显示名称。

详情
参数
ldn
LocaleDisplayNames 实例
script
要返回其显示名称的脚本
result
接收显示名称
maxResultSize
结果缓冲区的大小
要匹配的名称的选择器。
状态码
返回值
显示名称所需的实际缓冲区大小。如果大于 maxResultSize,返回的名称将被截断。

uldn_variantDisplayName

声明于 unicode/uldnames.h
U_CAPI int32_t U_EXPORT2 uldn_variantDisplayName(
  const ULocaleDisplayNames *ldn,
  const char *variant,
  UChar *result,
  int32_t maxResultSize,
  UErrorCode *pErrorCode
)

返回提供的变体的显示名称。

详情
参数
ldn
LocaleDisplayNames 实例
variant
要返回其显示名称的变体
result
接收显示名称
maxResultSize
结果缓冲区的大小
要匹配的名称的选择器。
状态码
返回值
显示名称所需的实际缓冲区大小。如果大于 maxResultSize,返回的名称将被截断。

uloc_acceptLanguage

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_acceptLanguage(
  char *result,
  int32_t resultAvailable,
  UAcceptResult *outResult,
  const char **acceptList,
  int32_t acceptListCount,
  UEnumeration *availableLocales,
  UErrorCode *status
)

根据可用区域设置列表,确定用户可接受的区域设置。

这是 C++ 类 LocaleMatcher 的一个精简包装。

详情
参数
result
- 用于接收结果语言环境的缓冲区
resultAvailable
结果缓冲器的大小。
outResult
- 一个输出参数,包含回退状态
acceptList
- 可接受的语言列表
acceptListCount
- acceptList 项目计数
availableLocales
- 可用于匹配的区域设置列表
status
ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链式调用结合使用。(详情参见用户指南。)
返回值
区域设置所需的长度。

uloc_addLikelySubtags

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_addLikelySubtags(
  const char *localeID,
  char *maximizedLocaleID,
  int32_t maximizedLocaleIDCapacity,
  UErrorCode *err
)

根据以下 CLDR 技术报告中描述的算法,为提供的区域设置 ID 添加可能的子标签

http://www.unicode.org/reports/tr35/#Likely_Subtags

如果 localeID 已处于最大形式,或者没有可用于最大化的数据,它将被复制到输出缓冲器。例如,“sh”不能被最大化,因为没有合理的(最大化)结果。

示例

"und_Zzzz" 最大化为 "en_Latn_US"

"en" 最大化为 "en_Latn_US"

"de" 最大化为 "de_Latn_DE"

"sr" 最大化为 "sr_Cyrl_RS"

"zh_Hani" 最大化为 "zh_Hani_CN"

详情
参数
localeID
要最大化的区域设置
maximizedLocaleID
最大化后的区域设置
maximizedLocaleIDCapacity
maximizedLocaleID 缓冲器的容量
err
最大化区域设置失败时的错误信息。如果 localeID 的长度和 null 终止符大于允许的最大大小,或者 localeId 格式不正确,错误代码为 U_ILLEGAL_ARGUMENT_ERROR。
返回值
最大化区域设置所需的实际缓冲器大小。如果大于 maximizedLocaleIDCapacity,返回的 ID 将被截断。出错时,返回值为 -1。

uloc_canonicalize

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_canonicalize(
  const char *localeID,
  char *name,
  int32_t nameCapacity,
  UErrorCode *err
)

获取指定区域设置的完整名称。

注意:这在一定程度上起到了“规范化”字符串的作用。会根据需要设置大小写,并且如果组件采用“POSIX”格式,则会将其更改为 ICU 格式。它不会以任何方式映射别名。请参阅此头文件的顶部。

详情
参数
localeID
用于获取完整名称的区域设置
nameChoice
localeID 的完整名称
nameCapacity
用于存储完整名称的名称缓冲器的大小
err
检索完整名称失败时的错误信息
返回值
完整名称所需的实际缓冲器大小。如果大于 nameCapacity,返回的完整名称将被截断。

uloc_countAvailable

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_countAvailable(
  void
)

获取所有可用区域设置列表的大小。

详情
返回值
区域设置列表的大小

uloc_forLanguageTag

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_forLanguageTag(
  const char *langtag,
  char *localeID,
  int32_t localeIDCapacity,
  int32_t *parsedLength,
  UErrorCode *err
)

返回指定 BCP47 语言标签字符串的区域设置 ID。

如果指定的语言标签包含任何格式不正确的子标签,则第一个此类子标签及其后面所有子标签都将被忽略。

这实现了 BCP 47 的“语言标签”生成,因此支持传统语言标签(在 BCP 47 中标记为“Type: grandfathered”)以及私有使用语言标签(无论是常规还是非常规的)。

私有使用标签表示为 'x-whatever',传统标签会在存在规范替换时转换为规范替换。

请注意,少数传统标签没有现代替换;这些将使用第一段中描述的回退进行转换,因此可能会丢失一些信息。

详情
参数
langtag
输入的 BCP47 语言标签。
localeID
接收指定 BCP47 语言标签的区域设置 ID 的输出缓冲器。
localeIDCapacity
区域设置 ID 输出缓冲器的大小。
parsedLength
如果不是 NULL,则设置输入语言标签的成功解析长度。
err
接收本地 ID 失败时的错误信息。
返回值
区域设置 ID 的长度。

uloc_getAvailable

unicode/uloc.h 中声明
U_CAPI const char *U_EXPORT2 uloc_getAvailable(
  int32_t n
)

从可用区域设置列表中获取指定的区域设置。

此方法对应于使用 ULOC_AVAILABLE_DEFAULT 类型参数调用的 uloc_openAvailableByType。

返回值为区域设置名称数组中某项的指针。此数组及其包含的指针都由 ICU 拥有,调用者不应删除或写入。区域设置名称以空指针终止。

详情
参数
n
可用区域设置列表中的特定区域设置名称索引;不应超过 uloc_countAvailable 返回的数字。
返回值
所有可用区域设置的指定区域设置名称

uloc_getBaseName

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getBaseName(
  const char *localeID,
  char *name,
  int32_t nameCapacity,
  UErrorCode *err
)

获取指定区域设置的完整名称,类似于 uloc_getName(),但不包含关键字。

注意:这在一定程度上起到了“规范化”字符串的作用。会根据需要设置大小写,并且如果组件采用“POSIX”格式,则会将其更改为 ICU 格式。它不会以任何方式映射别名。请参阅此头文件的顶部。

此 API 剥离了关键字部分,因此 "de_DE\@collation=phonebook" 将变为 "de_DE"。此 API 支持预检。

详情
参数
localeID
用于获取完整名称的区域设置
nameChoice
填充没有关键字的名称缓冲器。
nameCapacity
填充缓冲器的容量。
err
检索完整名称失败时的错误信息
返回值
完整名称所需的实际缓冲器大小。如果大于 nameCapacity,返回的完整名称将被截断。

uloc_getCharacterOrientation

unicode/uloc.h 中声明
U_CAPIULayoutType U_EXPORT2 uloc_getCharacterOrientation(
  const char *localeId,
  UErrorCode *status
)

获取指定区域设置的布局字符方向。

详情
参数
localeId
区域设置名称
status
错误状态
返回值
一个枚举,指示字符的布局方向。

uloc_getCountry

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getCountry(
  const char *localeID,
  char *country,
  int32_t countryCapacity,
  UErrorCode *err
)

获取指定区域设置的国家/地区代码。

此函数可能针对某些类型的输入返回失败错误代码,但不会完全检查区域设置 ID/语言标签是否格式良好。

详情
参数
localeID
用于获取国家/地区代码的区域设置
country
localeID 的国家/地区代码
countryCapacity
用于存储国家/地区代码的国家/地区缓冲器的大小
err
检索国家/地区代码失败时的错误信息
返回值
国家/地区代码所需的实际缓冲器大小。如果大于 countryCapacity,返回的国家/地区代码将被截断。

uloc_getDefault

unicode/uloc.h 中声明
U_CAPI const char *U_EXPORT2 uloc_getDefault(
  void
)

获取 ICU 的默认区域设置。

返回的字符串是时间点快照,即使调用 uloc_setDefault() 也将保持有效且不变。返回的存储由 ICU 拥有,调用者不得修改或删除。在 Android 上,uloc_setDefault() 不可见,因为 ICU4C、ICU4J 和 java.util.Locale 中的默认 Locale 是同步的。要设置默认区域设置,请在 Java 中或通过反向 JNI 调用 java.util.Locale::setDefault。

详情
返回值
ICU 默认区域设置

uloc_getDisplayCountry

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getDisplayCountry(
  const char *locale,
  const char *displayLocale,
  UChar *country,
  int32_t countryCapacity,
  UErrorCode *status
)

获取适合显示的指定区域设置的国家/地区名称。

警告:这适用于有效区域设置 ID 的区域部分;它不能仅仅是区域代码(如“FR”)。要获取单独区域的显示名称或查看其他选项,请改用 ULocaleDisplayNames。

详情
参数
locale
用于获取可显示国家/地区代码的区域设置。可以使用 NULL 来指定默认值。
displayLocale
指定用于显示名称的区域设置。换句话说,如果区域设置的语言代码是“en”,则为 inLocale 传递 Locale::getFrench() 将产生“Anglais”,而为 inLocale 传递 Locale::getGerman() 将产生“Englisch”。可以使用 NULL 来指定默认值。
country
localeID 的可显示国家/地区代码。
countryCapacity
用于存储可显示国家/地区代码的国家/地区缓冲器的大小。
status
检索可显示国家/地区代码失败时的错误信息。U_USING_DEFAULT_WARNING 表示从区域设置资源中找不到数据,并将经过大小写规范化的国家/地区代码作为回退放置到 country 中。
返回值
可显示国家/地区代码所需的实际缓冲器大小。如果大于 countryCapacity,返回的可显示国家/地区代码将被截断。

uloc_getDisplayKeyword

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getDisplayKeyword(
  const char *keyword,
  const char *displayLocale,
  UChar *dest,
  int32_t destCapacity,
  UErrorCode *status
)

获取适合显示的指定区域设置的关键字名称。

例如:对于区域设置字符串 de_DE\@collation=PHONEBOOK,此 API 获取关键字 collation 的显示字符串。用法: UErrorCode status = U_ZERO_ERROR; const char* keyword =NULL; int32_t keywordLen = 0; int32_t keywordCount = 0; UChar displayKeyword[256]; int32_t displayKeywordLen = 0; UEnumeration* keywordEnum = uloc_openKeywords("de_DE@collation=PHONEBOOK;calendar=TRADITIONAL", &status); for(keywordCount = uenum_count(keywordEnum, &status); keywordCount > 0 ; keywordCount){ if(U_FAILURE(status)){ ...something went wrong so handle the error... break; } // the uenum_next returns NUL terminated string keyword = uenum_next(keywordEnum, &keywordLen, &status); displayKeywordLen = uloc_getDisplayKeyword(keyword, "en_US", displayKeyword, 256); ... do something interesting ..... } uenum_close(keywordEnum); 另请参阅:uloc_openKeywords

详情
参数
keyword
需要返回其显示字符串的关键字。
displayLocale
指定用于显示名称的区域设置。换句话说,如果区域设置的语言代码是“en”,则为 inLocale 传递 Locale::getFrench() 将产生“Anglais”,而为 inLocale 传递 Locale::getGerman() 将产生“Englisch”。可以使用 NULL 来指定默认值。
dest
应写入可显示关键字的缓冲器。
destCapacity
缓冲区的大小(UChar 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
status
检索可显示字符串失败时的错误信息。不应为 NULL,且在进入时不应指示失败。U_USING_DEFAULT_WARNING 表示从区域设置资源中未找到数据,并将关键字作为回退放置到 dest 中。
返回值
可显示变体代码所需的实际缓冲器大小。

uloc_getDisplayKeywordValue

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getDisplayKeywordValue(
  const char *locale,
  const char *keyword,
  const char *displayLocale,
  UChar *dest,
  int32_t destCapacity,
  UErrorCode *status
)

获取适合显示的指定区域设置的关键字值。

例如:对于区域设置字符串 de_DE\@collation=PHONEBOOK,当将“collation”指定为关键字时,此 API 在显示区域设置中获取 PHONEBOOK 的显示字符串。

详情
参数
locale
用于获取可显示变体代码的区域设置。可以使用 NULL 来指定默认值。
keyword
应使用其值的关键字。
displayLocale
指定用于显示名称的区域设置。换句话说,如果区域设置的语言代码是“en”,则为 inLocale 传递 Locale::getFrench() 将产生“Anglais”,而为 inLocale 传递 Locale::getGerman() 将产生“Englisch”。可以使用 NULL 来指定默认值。
dest
应写入可显示关键字的缓冲器。
destCapacity
缓冲区的大小(UChar 数)。如果为 0,则 dest 可以为 NULL,并且函数将只返回结果的长度,而不写入任何结果字符串(预检)。
status
检索可显示字符串失败时的错误信息。不应为 NULL,且在进入时不得指示失败。U_USING_DEFAULT_WARNING 表示从区域设置资源中未找到数据,并将关键字的值作为回退放置到 dest 中。
返回值
可显示变体代码所需的实际缓冲器大小。

uloc_getDisplayLanguage

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getDisplayLanguage(
  const char *locale,
  const char *displayLocale,
  UChar *language,
  int32_t languageCapacity,
  UErrorCode *status
)

获取适合显示的指定区域设置的语言名称。

详情
参数
locale
用于获取 ISO 语言代码的区域设置
displayLocale
指定用于显示名称的区域设置。换句话说,如果区域设置的语言代码是“en”,则为 inLocale 传递 Locale::getFrench() 将产生“Anglais”,而为 inLocale 传递 Locale::getGerman() 将产生“Englisch”。
language
localeID 的可显示语言代码
languageCapacity
用于存储可显示语言代码的语言缓冲器的大小。
status
检索可显示语言代码失败时的错误信息。U_USING_DEFAULT_WARNING 表示从区域设置资源中未找到数据,并将经过大小写规范化的语言代码作为回退放置到 language 中。
返回值
可显示语言代码所需的实际缓冲器大小。如果大于 languageCapacity,返回的语言代码将被截断。

uloc_getDisplayName

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getDisplayName(
  const char *localeID,
  const char *inLocaleID,
  UChar *result,
  int32_t maxResultSize,
  UErrorCode *err
)

获取适合显示的指定区域设置的完整名称。

详情
参数
localeID
用于获取可显示名称的区域设置。可以使用 NULL 来指定默认值。
inLocaleID
指定用于显示名称的区域设置。换句话说,如果区域设置的语言代码是“en”,则为 inLocale 传递 Locale::getFrench() 将产生“Anglais”,而为 inLocale 传递 Locale::getGerman() 将产生“Englisch”。可以使用 NULL 来指定默认值。
result
localeID 的可显示名称
maxResultSize
用于存储可显示完整名称的名称缓冲器的大小
err
检索可显示名称失败时的错误信息
返回值
可显示名称所需的实际缓冲器大小。如果大于 maxResultSize,返回的可显示名称将被截断。

uloc_getDisplayScript

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getDisplayScript(
  const char *locale,
  const char *displayLocale,
  UChar *script,
  int32_t scriptCapacity,
  UErrorCode *status
)

获取适合显示的指定区域设置的脚本名称。

详情
参数
locale
用于获取可显示脚本代码的区域设置。可以使用 NULL 来指定默认值。
displayLocale
指定用于显示名称的区域设置。换句话说,如果区域设置的语言代码是“en”,则为 inLocale 传递 Locale::getFrench() 将产生“”,而为 inLocale 传递 Locale::getGerman() 将产生“”。可以使用 NULL 来指定默认值。
script
localeID 的可显示脚本。
scriptCapacity
用于存储可显示脚本代码的脚本缓冲器的大小。
status
检索可显示脚本代码失败时的错误信息。U_USING_DEFAULT_WARNING 表示从区域设置资源中未找到数据,并将经过大小写规范化的脚本代码作为回退放置到 script 中。
返回值
可显示脚本代码所需的实际缓冲器大小。如果大于 scriptCapacity,返回的可显示脚本代码将被截断。

uloc_getDisplayVariant

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getDisplayVariant(
  const char *locale,
  const char *displayLocale,
  UChar *variant,
  int32_t variantCapacity,
  UErrorCode *status
)

获取适合显示的指定区域设置的变体名称。

详情
参数
locale
用于获取可显示变体代码的区域设置。可以使用 NULL 来指定默认值。
displayLocale
指定用于显示名称的区域设置。换句话说,如果区域设置的语言代码是“en”,则为 inLocale 传递 Locale::getFrench() 将产生“Anglais”,而为 inLocale 传递 Locale::getGerman() 将产生“Englisch”。可以使用 NULL 来指定默认值。
variant
localeID 的可显示变体代码。
variantCapacity
用于存储可显示变体代码的变体缓冲器的大小。
status
检索可显示变体代码失败时的错误信息。U_USING_DEFAULT_WARNING 表示从区域设置资源中未找到数据,并将经过大小写规范化的变体代码作为回退放置到 variant 中。
返回值
可显示变体代码所需的实际缓冲器大小。如果大于 variantCapacity,返回的可显示变体代码将被截断。

uloc_getISO3Country

unicode/uloc.h 中声明
U_CAPI const char *U_EXPORT2 uloc_getISO3Country(
  const char *localeID
)

获取指定区域设置的 ISO 国家/地区代码。

详情
参数
localeID
用于获取 ISO 国家/地区代码的区域设置
返回值
localeID 的 ISO 国家/地区代码 country

uloc_getISO3Language

unicode/uloc.h 中声明
U_CAPI const char *U_EXPORT2 uloc_getISO3Language(
  const char *localeID
)

获取指定区域设置的 ISO 语言代码。

详情
参数
localeID
用于获取 ISO 语言代码的区域设置
返回值
localeID 的 ISO 语言代码 language

uloc_getISOCountries

unicode/uloc.h 中声明
U_CAPI const char *const *U_EXPORT2 uloc_getISOCountries(
  void
)

获取 ISO 639 中定义的所有可用 2 字母国家/地区代码列表。

这是一个指向 char 数组指针数组的指针。所有这些指针都由 ICU 拥有,请勿删除它们,也请勿通过它们写入。该数组以空指针终止。

详情
返回值
所有可用国家/地区代码的列表

uloc_getISOLanguages

unicode/uloc.h 中声明
U_CAPI const char *const *U_EXPORT2 uloc_getISOLanguages(
  void
)

获取 ISO 639 中定义的所有可用 2 字母语言代码列表,以及根据 Unicode CLDR 定义对区域设置生成有用的其他 3 字母代码。

这是一个指向 char 数组指针数组的指针。所有这些指针都由 ICU 拥有,请勿删除它们,也请勿通过它们写入。该数组以空指针终止。

详情
返回值
所有可用语言代码的列表

uloc_getKeywordValue

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getKeywordValue(
  const char *localeID,
  const char *keywordName,
  char *buffer,
  int32_t bufferCapacity,
  UErrorCode *status
)

获取关键字的值。

区域设置名称无需规范化。

详情
参数
localeID
包含关键字的区域设置名称("de_DE\@currency=EURO;collation=PHONEBOOK")
keywordName
我们想要其值的关键字名称;不得为 NULL 或空,且必须仅包含 [A-Za-z0-9]。不区分大小写。
要获取名称的字符(码点)。它必须是 0<=code<=0x10ffff
接收缓冲器
bufferCapacity
接收缓冲器的容量
status
包含错误代码:例如缓冲器不够大或 localeID 或 keywordName 参数格式不正确。
返回值
关键字值的长度

uloc_getLanguage

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getLanguage(
  const char *localeID,
  char *language,
  int32_t languageCapacity,
  UErrorCode *err
)

获取指定区域设置的语言代码。

此函数可能针对某些类型的输入返回失败错误代码,但不会完全检查区域设置 ID/语言标签是否格式良好。

详情
参数
localeID
用于获取 ISO 语言代码的区域设置
language
localeID 的语言代码
languageCapacity
用于存储语言代码的语言缓冲器的大小
err
检索语言代码失败时的错误信息
返回值
语言代码所需的实际缓冲器大小。如果大于 languageCapacity,返回的语言代码将被截断。

uloc_getLineOrientation

unicode/uloc.h 中声明
U_CAPIULayoutType U_EXPORT2 uloc_getLineOrientation(
  const char *localeId,
  UErrorCode *status
)

获取指定区域设置的布局行方向。

详情
参数
localeId
区域设置名称
status
错误状态
返回值
一个枚举,指示行的布局方向。

uloc_getName

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getName(
  const char *localeID,
  char *name,
  int32_t nameCapacity,
  UErrorCode *err
)

获取指定区域设置的完整名称。

此函数可能针对某些类型的输入返回失败错误代码,但不会完全检查区域设置 ID/语言标签是否格式良好。

注意:这在一定程度上起到了“规范化”ICU 区域设置 ID 的作用。会根据需要设置大小写。它不会以任何方式映射别名。请参阅此头文件的顶部。此 API 支持预检。

详情
参数
localeID
用于获取完整名称的区域设置
nameChoice
填充没有关键字的名称缓冲器。
nameCapacity
填充缓冲器的容量。
err
检索完整名称失败时的错误信息
返回值
完整名称所需的实际缓冲器大小。如果大于 nameCapacity,返回的完整名称将被截断。

uloc_getScript

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getScript(
  const char *localeID,
  char *script,
  int32_t scriptCapacity,
  UErrorCode *err
)

获取指定区域设置的脚本代码。

此函数可能针对某些类型的输入返回失败错误代码,但不会完全检查区域设置 ID/语言标签是否格式良好。

详情
参数
localeID
用于获取 ISO 语言代码的区域设置
script
localeID 的语言代码
scriptCapacity
用于存储语言代码的语言缓冲器的大小
err
检索语言代码失败时的错误信息
返回值
脚本代码所需的实际缓冲器大小。如果大于 scriptCapacity,返回的脚本代码将被截断。

uloc_getVariant

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_getVariant(
  const char *localeID,
  char *variant,
  int32_t variantCapacity,
  UErrorCode *err
)

获取指定区域设置的变体代码。

此函数可能针对某些类型的输入返回失败错误代码,但不会完全检查区域设置 ID/语言标签是否格式良好。

详情
参数
localeID
用于获取变体代码的区域设置
variant
localeID 的变体代码
variantCapacity
用于存储变体代码的变体缓冲器的大小
err
检索变体代码失败时的错误信息
返回值
变体代码所需的实际缓冲器大小。如果大于 variantCapacity,返回的变体代码将被截断。

uloc_isRightToLeft

unicode/uloc.h 中声明
U_CAPIUBool U_EXPORT2 uloc_isRightToLeft(
  const char *locale
)

返回区域设置的脚本是否是从右到左书写。

如果不存在脚本子标签,则使用可能的脚本,参见 uloc_addLikelySubtags()。如果不知道可能的脚本,则返回 false。

根据 CLDR 脚本元数据,如果脚本的字母具有 Bidi_Class=R 或 AL,则该脚本是右到左的。

对于“ar”和“en-Hebr”返回 true,对于“zh”和“fa-Cyrl”返回 false。

详情
参数
locale
输入区域设置 ID
返回值
如果区域设置的脚本是右到左书写,则返回 true

uloc_minimizeSubtags

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_minimizeSubtags(
  const char *localeID,
  char *minimizedLocaleID,
  int32_t minimizedLocaleIDCapacity,
  UErrorCode *err
)

根据以下 CLDR 技术报告中描述的算法,最小化提供的区域设置 ID 的子标签

http://www.unicode.org/reports/tr35/#Likely_Subtags

如果 localeID 已处于最小形式,或者没有可用于最小化的数据,它将被复制到输出缓冲器。由于最小化算法依赖于正确的最大化,因此请参阅 uloc_addLikelySubtags 的注释,了解可能没有数据的原因。

示例

"en_Latn_US" 最小化为 "en"

"de_Latn_US" 最小化为 "de"

"sr_Cyrl_RS" 最小化为 "sr"

"zh_Hant_TW" 最小化为 "zh_TW"(区域优先于脚本,最小化为“zh”将意味着“zh_Hans_CN”。)

详情
参数
localeID
要最小化的区域设置
minimizedLocaleID
最小化后的区域设置
minimizedLocaleIDCapacity
minimizedLocaleID 缓冲器的容量
err
最小化区域设置失败时的错误信息。如果 localeID 的长度和 null 终止符大于允许的最大大小,或者 localeId 格式不正确,错误代码为 U_ILLEGAL_ARGUMENT_ERROR。
返回值
最小化区域设置所需的实际缓冲器大小。如果大于 minimizedLocaleIDCapacity,返回的 ID 将被截断。出错时,返回值为 -1。

uloc_openKeywords

unicode/uloc.h 中声明
U_CAPIUEnumeration *U_EXPORT2 uloc_openKeywords(
  const char *localeID,
  UErrorCode *status
)

获取指定区域设置的关键字枚举。

客户端必须使用 uenum_close 函数释放枚举。

详情
参数
localeID
用于获取变体代码的区域设置
status
检索关键字失败时的错误信息
返回值
关键字的枚举,如果没有关键字则为 NULL。

uloc_setKeywordValue

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_setKeywordValue(
  const char *keywordName,
  const char *keywordValue,
  char *buffer,
  int32_t bufferCapacity,
  UErrorCode *status
)

设置或移除指定关键字的值。

要移除所有关键字,请使用 uloc_getBaseName()

注意:与几乎所有其他接受缓冲器的 ICU 函数不同,此函数不会截断输出文本,也不会用未终止的文本更新缓冲器并设置状态为 U_STRING_NOT_TERMINATED_WARNING。如果收到 BUFFER_OVERFLOW_ERROR,这意味着更新后的区域设置 ID 的终止版本无法放入缓冲器中,并且原始缓冲器未被触动。这样做是为了防止生成和使用不正确甚至可能格式错误的区域设置。

另请参阅: uloc_getKeywordValue

详情
参数
keywordName
要设置的关键字名称;不得为 NULL 或空,且必须仅包含 [A-Za-z0-9]。不区分大小写。
keywordValue
要设置的关键字值。如果长度为 0 或为 NULL,将导致关键字被移除;如果该关键字不存在,则不给出错误。否则,必须仅包含 [A-Za-z0-9] 和 [/_+-]。
要获取名称的字符(码点)。它必须是 0<=code<=0x10ffff
包含要修改的格式正确的区域设置 ID 的输入缓冲器。
bufferCapacity
接收缓冲器的容量
status
包含错误代码:例如缓冲器不够大或 keywordName 或 keywordValue 参数格式不正确,或输入缓冲器中的区域设置 ID 格式不正确。
返回值
缓冲器所需的长度

uloc_toLanguageTag

unicode/uloc.h 中声明
U_CAPI int32_t U_EXPORT2 uloc_toLanguageTag(
  const char *localeID,
  char *langtag,
  int32_t langtagCapacity,
  UBool strict,
  UErrorCode *err
)

返回此区域设置 ID 的格式良好的语言标签。

注意:当 strict 为 false 时,任何不满足 BCP47 语法要求的区域设置字段都将从结果中省略。当 strict 为 true 时,如果任何区域设置字段不满足 BCP47 语法要求,此函数将 err 设置为 U_ILLEGAL_ARGUMENT_ERROR。

详情
参数
localeID
输入区域设置 ID
langtag
接收区域设置 ID 的 BCP47 语言标签的输出缓冲器。
langtagCapacity
BCP47 语言标签输出缓冲器的大小。
strict
布尔值,指示如果输入的区域设置 ID 格式不正确,函数是否返回错误。
err
接收语言标签失败时的错误信息。
返回值
BCP47 语言标签的长度。

uloc_toLegacyKey

unicode/uloc.h 中声明
U_CAPI const char *U_EXPORT2 uloc_toLegacyKey(
  const char *keyword
)

将指定关键字(BCP 47 Unicode 区域设置扩展键或旧版键)转换为旧版键。

例如,对于输入的 BCP 47 Unicode 区域设置扩展键“co”,返回传统键“collation”。

另请参阅:toUnicodeLocaleKey

详情
参数
keyword
输入的区域设置关键字(BCP 47 Unicode 区域设置扩展键或传统键)。
返回值
格式正确的传统键,如果指定的关键字无法映射到格式正确的传统键,则为 NULL。

uloc_toLegacyType

unicode/uloc.h 中声明
U_CAPI const char *U_EXPORT2 uloc_toLegacyType(
  const char *keyword,
  const char *value
)

将指定关键字值(BCP 47 Unicode 区域设置扩展类型或旧版类型或类型别名)转换为规范的旧版类型。

例如,对于输入的 BCP 47 Unicode 区域设置扩展类型“phonebk”,以及关键字“collation”(或“co”),返回传统类型“phonebook”。

当指定的关键字无法识别,但指定的值满足传统键的语法,或者当指定的关键字允许“variable”类型且指定的值满足语法时,将返回指向输入类型值本身的指针。例如,uloc_toLegacyType("Foo", "Bar") 返回“Bar”,uloc_toLegacyType("vt", "00A4") 返回“00A4”。

另请参阅:toUnicodeLocaleType

详情
参数
keyword
区域设置关键字(传统关键字如“collation”或 BCP 47 Unicode 区域设置扩展键如“co”)。
value
区域设置关键字值(BCP 47 Unicode 区域设置扩展类型如“phonebk”或传统关键字值如“phonebook”)。
返回值
格式正确的传统类型,如果指定的关键字值无法映射到格式正确的传统类型,则为 NULL。

uloc_toUnicodeLocaleKey

unicode/uloc.h 中声明
U_CAPI const char *U_EXPORT2 uloc_toUnicodeLocaleKey(
  const char *keyword
)

将指定关键字(旧版键或 BCP 47 Unicode 区域设置扩展键)转换为等效的 BCP 47 Unicode 区域设置扩展键。

例如,对于输入的关键字“collation”,返回 BCP 47 Unicode 区域设置扩展键“co”。

当指定的关键字未知,但满足 BCP 语法时,将返回指向输入关键字本身的指针。例如,uloc_toUnicodeLocaleKey("ZZ") 返回“ZZ”。

另请参阅: uloc_toLegacyKey

详情
参数
keyword
输入的区域设置关键字(传统键如“collation”或 BCP 47 Unicode 区域设置扩展键如“co”)。
返回值
格式正确的 BCP 47 Unicode 区域设置扩展键,如果指定的区域设置关键字无法映射到格式正确的 BCP 47 Unicode 区域设置扩展键,则为 NULL。

uloc_toUnicodeLocaleType

unicode/uloc.h 中声明
U_CAPI const char *U_EXPORT2 uloc_toUnicodeLocaleType(
  const char *keyword,
  const char *value
)

将指定关键字值(旧版类型或 BCP 47 Unicode 区域设置扩展类型)转换为指定关键字(类别)的格式良好的 BCP 47 Unicode 区域设置扩展类型。

例如,对于输入的关键字值“phonebook”,以及关键字“collation”(或“co”),返回 BCP 47 Unicode 区域设置扩展类型“phonebk”。

当指定的关键字无法识别,但指定的值满足 BCP 47 Unicode 区域设置扩展类型的语法,或者当指定的关键字允许“variable”类型且指定的值满足语法时,将返回指向输入类型值本身的指针。例如,uloc_toUnicodeLocaleType("Foo", "Bar") 返回“Bar”,uloc_toUnicodeLocaleType("variableTop", "00A4") 返回“00A4”。

另请参阅: uloc_toLegacyType

详情
参数
keyword
区域设置关键字(传统键如“collation”或 BCP 47 Unicode 区域设置扩展键如“co”)。
value
区域设置关键字值(传统类型如“phonebook”或 BCP 47 Unicode 区域设置扩展类型如“phonebk”)。
返回值
格式正确的 BCP47 Unicode 区域设置扩展类型,如果区域设置关键字值无法映射到格式正确的 BCP 47 Unicode 区域设置扩展类型,则为 NULL。

ulocdata_getCLDRVersion

如果枚举应继续,则为 true,停止则为 false。
U_CAPI void U_EXPORT2 ulocdata_getCLDRVersion(
  UVersionInfo versionArray,
  UErrorCode *status
)

返回库当前使用的 CLDR 版本。

详情
参数
c
将接收版本号的填充项
status
错误代码 - 如果未找到版本,可能是 U_MISSING_RESOURCE_ERROR。

unorm2_append

声明于 unicode/unorm2.h
U_CAPI int32_t U_EXPORT2 unorm2_append(
  const UNormalizer2 *norm2,
  UChar *first,
  int32_t firstLength,
  int32_t firstCapacity,
  const UChar *second,
  int32_t secondLength,
  UErrorCode *pErrorCode
)

将第二个字符串附加到第一个字符串(在边界处合并),并返回第一个字符串的长度。

如果两个字符串都已规范化,则结果会规范化。第一个和第二个字符串必须是不同的缓冲器。

详情
参数
norm2
UNormalizer2 实例
first
字符串,应已规范化
firstLength
第一个字符串的长度,如果以 NUL 终止则为 -1
firstCapacity
可以写入 first 的 UChar 数量
second
字符串,应已规范化
secondLength
源字符串的长度,如果以 NUL 终止则为 -1
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
first

unorm2_close

声明于 unicode/unorm2.h
U_CAPI void U_EXPORT2 unorm2_close(
  UNormalizer2 *norm2
)

关闭从 unorm2_openFiltered() 获取的 UNormalizer2 实例。

不要关闭 unorm2_getInstance() 返回的实例!

详情
参数
norm2
要关闭的 UNormalizer2 实例

unorm2_composePair

声明于 unicode/unorm2.h
U_CAPIUChar32 U_EXPORT2 unorm2_composePair(
  const UNormalizer2 *norm2,
  UChar32 a,
  UChar32 b
)

执行 a & b 的成对组合,如果存在组合,则返回组合结果。

仅当合成码位 c 与 a+b 之间存在双向映射时,才返回 c。在标准 Unicode 规范化中,这意味着 c 对 a+b 具有规范分解,并且 c 不具有 Full_Composition_Exclusion 属性。

此函数与 UNormalizer2 的模式无关。

详情
参数
norm2
UNormalizer2 实例
a
一个(规范化起始符)码位。
b
另一个码位。
返回值
如果存在,则为非负的合成码位;否则为负值。

unorm2_getCombiningClass

声明于 unicode/unorm2.h
U_CAPI uint8_t U_EXPORT2 unorm2_getCombiningClass(
  const UNormalizer2 *norm2,
  UChar32 c
)

获取 c 的组合类。

默认实现返回 0,但所有标准实现都返回 Unicode Canonical_Combining_Class 值。

详情
参数
norm2
UNormalizer2 实例
u_charAge
码位
返回值
c 的组合类

unorm2_getDecomposition

声明于 unicode/unorm2.h
U_CAPI int32_t U_EXPORT2 unorm2_getDecomposition(
  const UNormalizer2 *norm2,
  UChar32 c,
  UChar *decomposition,
  int32_t capacity,
  UErrorCode *pErrorCode
)

获取 c 的分解映射。

大致相当于在 UNORM2_DECOMPOSE UNormalizer2 实例上规范化 c 的 String 形式,但速度快得多,并且如果 c 在此实例的数据中没有分解映射,则此函数会返回负值且不写入字符串。此函数与 UNormalizer2 的模式无关。

详情
参数
norm2
UNormalizer2 实例
u_charAge
码位
decomposition
字符串缓冲器,如果 c 存在分解映射,将被设置为该映射。
capacity
可以写入 decomposition 的 UChar 数量
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
如果 c 存在分解,则为非负长度;否则为负值

unorm2_getNFCInstance

声明于 unicode/unorm2.h
U_CAPI const UNormalizer2 *U_EXPORT2 unorm2_getNFCInstance(
  UErrorCode *pErrorCode
)

返回用于 Unicode NFC 规范化的 UNormalizer2 实例。

与 unorm2_getInstance(NULL, "nfc", UNORM2_COMPOSE, pErrorCode) 相同。返回一个不可修改的单例实例。请勿删除它。

详情
参数
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
如果成功,则返回请求的 Normalizer2

unorm2_getNFDInstance

声明于 unicode/unorm2.h
U_CAPI const UNormalizer2 *U_EXPORT2 unorm2_getNFDInstance(
  UErrorCode *pErrorCode
)

返回用于 Unicode NFD 规范化的 UNormalizer2 实例。

与 unorm2_getInstance(NULL, "nfc", UNORM2_DECOMPOSE, pErrorCode) 相同。返回一个不可修改的单例实例。请勿删除它。

详情
参数
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
如果成功,则返回请求的 Normalizer2

unorm2_getNFKCCasefoldInstance

声明于 unicode/unorm2.h
U_CAPI const UNormalizer2 *U_EXPORT2 unorm2_getNFKCCasefoldInstance(
  UErrorCode *pErrorCode
)

返回用于 Unicode toNFKC_Casefold() 规范化的 UNormalizer2 实例,这等效于应用 NFKC_Casefold 映射,然后应用 NFC。

参见 https://www.unicode.org/reports/tr44/#NFKC_Casefold

与 unorm2_getInstance(NULL, "nfkc_cf", UNORM2_COMPOSE, pErrorCode) 相同。返回一个不可修改的单例实例。请勿删除它。

详情
参数
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
如果成功,则返回请求的 Normalizer2

unorm2_getNFKCInstance

声明于 unicode/unorm2.h
U_CAPI const UNormalizer2 *U_EXPORT2 unorm2_getNFKCInstance(
  UErrorCode *pErrorCode
)

返回用于 Unicode NFKC 规范化的 UNormalizer2 实例。

与 unorm2_getInstance(NULL, "nfkc", UNORM2_COMPOSE, pErrorCode) 相同。返回一个不可修改的单例实例。请勿删除它。

详情
参数
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
如果成功,则返回请求的 Normalizer2

unorm2_getNFKDInstance

声明于 unicode/unorm2.h
U_CAPI const UNormalizer2 *U_EXPORT2 unorm2_getNFKDInstance(
  UErrorCode *pErrorCode
)

返回用于 Unicode NFKD 规范化的 UNormalizer2 实例。

与 unorm2_getInstance(NULL, "nfkc", UNORM2_DECOMPOSE, pErrorCode) 相同。返回一个不可修改的单例实例。请勿删除它。

详情
参数
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
如果成功,则返回请求的 Normalizer2

unorm2_getRawDecomposition

声明于 unicode/unorm2.h
U_CAPI int32_t U_EXPORT2 unorm2_getRawDecomposition(
  const UNormalizer2 *norm2,
  UChar32 c,
  UChar *decomposition,
  int32_t capacity,
  UErrorCode *pErrorCode
)

获取 c 的原始分解映射。

这类似于 unorm2_getDecomposition() 函数,但返回 UnicodeData.txt 中指定或 gennorm2 工具处理的映射文件(用于自定义数据)中的原始分解映射。相比之下,unorm2_getDecomposition() 返回此映射的已处理的递归分解版本。

在标准 NFKC Normalizer2 实例上使用时,unorm2_getRawDecomposition() 返回 Unicode Decomposition_Mapping (dm) 属性。

在标准 NFC Normalizer2 实例上使用时,仅当 Decomposition_Type (dt) 为 Canonical (Can) 时才返回 Decomposition_Mapping;在这种情况下,结果包含一个或两个码位(=1..4 UChars)。

此函数与 UNormalizer2 的模式无关。

详情
参数
norm2
UNormalizer2 实例
u_charAge
码位
decomposition
字符串缓冲器,如果 c 存在原始分解映射,将被设置为该映射。
capacity
可以写入 decomposition 的 UChar 数量
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
如果 c 存在原始分解,则为非负长度;否则为负值

unorm2_hasBoundaryAfter

声明于 unicode/unorm2.h
U_CAPIUBool U_EXPORT2 unorm2_hasBoundaryAfter(
  const UNormalizer2 *norm2,
  UChar32 c
)

测试该字符在其后是否总有规范化边界,无论上下文如何。

详情参见 Normalizer2 基类文档。

详情
参数
norm2
UNormalizer2 实例
u_charAge
要测试的字符
返回值
如果 c 在其后有规范化边界,则返回 true

unorm2_hasBoundaryBefore

声明于 unicode/unorm2.h
U_CAPIUBool U_EXPORT2 unorm2_hasBoundaryBefore(
  const UNormalizer2 *norm2,
  UChar32 c
)

测试该字符在其前是否总有规范化边界,无论上下文如何。

详情参见 Normalizer2 基类文档。

详情
参数
norm2
UNormalizer2 实例
u_charAge
要测试的字符
返回值
如果 c 在其前有规范化边界,则返回 true

unorm2_isInert

声明于 unicode/unorm2.h
U_CAPIUBool U_EXPORT2 unorm2_isInert(
  const UNormalizer2 *norm2,
  UChar32 c
)

测试该字符是否规范化惰性。

详情参见 Normalizer2 基类文档。

详情
参数
norm2
UNormalizer2 实例
u_charAge
要测试的字符
返回值
如果 c 是规范化惰性的,则返回 true

unorm2_isNormalized

声明于 unicode/unorm2.h
U_CAPIUBool U_EXPORT2 unorm2_isNormalized(
  const UNormalizer2 *norm2,
  const UChar *s,
  int32_t length,
  UErrorCode *pErrorCode
)

测试字符串是否已规范化。

在 quickCheck() 方法返回“maybe”(仅可能用于两种 COMPOSE 模式)的情况下,此方法内部会解析为“yes”或“no”以提供确定性结果,代价是在这些情况下进行更多工作。

详情
参数
norm2
UNormalizer2 实例
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
输入字符串
name
字符串的长度,如果以 NUL 终止则为 -1
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
如果 s 已规范化,则返回 true

unorm2_normalize

声明于 unicode/unorm2.h
U_CAPI int32_t U_EXPORT2 unorm2_normalize(
  const UNormalizer2 *norm2,
  const UChar *src,
  int32_t length,
  UChar *dest,
  int32_t capacity,
  UErrorCode *pErrorCode
)

将源字符串的规范化形式写入目标字符串(替换其内容),并返回目标字符串的长度。

源字符串和目标字符串必须是不同的缓冲器。

详情
参数
norm2
UNormalizer2 实例
src
源字符串
name
源字符串的长度,如果以 NUL 终止则为 -1
dest
目标字符串;其内容被规范化的 src 替换
capacity
可以写入 dest 的 UChar 数量
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
dest

unorm2_normalizeSecondAndAppend

声明于 unicode/unorm2.h
U_CAPI int32_t U_EXPORT2 unorm2_normalizeSecondAndAppend(
  const UNormalizer2 *norm2,
  UChar *first,
  int32_t firstLength,
  int32_t firstCapacity,
  const UChar *second,
  int32_t secondLength,
  UErrorCode *pErrorCode
)

将第二个字符串的规范化形式附加到第一个字符串(在边界处合并),并返回第一个字符串的长度。

如果第一个字符串已规范化,则结果会规范化。第一个和第二个字符串必须是不同的缓冲器。

详情
参数
norm2
UNormalizer2 实例
first
字符串,应已规范化
firstLength
第一个字符串的长度,如果以 NUL 终止则为 -1
firstCapacity
可以写入 first 的 UChar 数量
second
字符串,将被规范化
secondLength
源字符串的长度,如果以 NUL 终止则为 -1
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
first

unorm2_quickCheck

声明于 unicode/unorm2.h
U_CAPIUNormalizationCheckResult U_EXPORT2 unorm2_quickCheck(
  const UNormalizer2 *norm2,
  const UChar *s,
  int32_t length,
  UErrorCode *pErrorCode
)

测试字符串是否已规范化。

对于两种 COMPOSE 模式,在需要稍微多做一些工作才能确定解析的情况下,结果可能是“maybe”。使用 spanQuickCheckYes() 和 normalizeSecondAndAppend() 可以更快地组合快速检查 + 规范化,以避免重新检查“yes”前缀。

详情
参数
norm2
UNormalizer2 实例
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
输入字符串
name
字符串的长度,如果以 NUL 终止则为 -1
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
UNormalizationCheckResult

unorm2_spanQuickCheckYes

声明于 unicode/unorm2.h
U_CAPI int32_t U_EXPORT2 unorm2_spanQuickCheckYes(
  const UNormalizer2 *norm2,
  const UChar *s,
  int32_t length,
  UErrorCode *pErrorCode
)

返回输入字符串中规范化子字符串的末尾。

换句话说,使用 end=spanQuickCheckYes(s, ec);,子字符串 UnicodeString(s, 0, end) 将以“yes”结果通过快速检查。

返回的结束索引通常位于“no”或“maybe”字符之前一个或多个字符处:结束索引位于规范化边界处。(有关规范化边界的更多信息,请参阅类文档。)

当目标是规范化字符串且预计大多数输入字符串已经规范化时,请调用此方法;如果它返回比输入字符串短的前缀,则复制该前缀并对剩余部分使用 normalizeSecondAndAppend()。

详情
参数
norm2
UNormalizer2 实例
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
输入字符串
name
字符串的长度,如果以 NUL 终止则为 -1
要匹配的名称的选择器。
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
“yes”跨度结束索引

uscript_breaksBetweenLetters

声明于 unicode/uscript.h
U_CAPIUBool U_EXPORT2 uscript_breaksBetweenLetters(
  UScriptCode script
)

如果脚本允许字母之间换行(不包括连字符),则返回 true。

这种脚本通常需要基于字典的换行。例如,Hani 和 Thai。

详情
参数
script
脚本代码
返回值
如果脚本允许在字母之间换行,则返回 true

uscript_getCode

声明于 unicode/uscript.h
U_CAPI int32_t U_EXPORT2 uscript_getCode(
  const char *nameOrAbbrOrLocale,
  UScriptCode *fillIn,
  int32_t capacity,
  UErrorCode *err
)

获取与给定区域设置或 ISO 15924 缩写或名称关联的脚本代码。

给定“Malayam”或“Mlym”时填充 USCRIPT_MALAYALAM。给定“en”或“en_US”时填充 USCRIPT_LATIN。如果所需容量大于目标缓冲器的容量,则错误代码将设置为 U_BUFFER_OVERFLOW_ERROR 并返回所需容量。

注意:仅按脚本简称或全称搜索,请改用 u_getPropertyValueEnum(UCHAR_SCRIPT, alias)。这会执行快速查找,无需访问区域设置数据。

详情
参数
nameOrAbbrOrLocale
脚本名称,如 PropertyValueAliases.txt 中给出,或 ISO 15924 代码或区域设置
fillIn
用于填充脚本代码的 UScriptCode 缓冲器
capacity
传入的 UScriptCode 缓冲器的容量(大小)。
err
错误状态码。
返回值
在传入的缓冲器中填充的脚本代码数量

uscript_getName

声明于 unicode/uscript.h
U_CAPI const char *U_EXPORT2 uscript_getName(
  UScriptCode scriptCode
)

返回完整的 Unicode 脚本名称(如果存在)。

否则返回 4 字母的 ISO 15924 脚本代码。给定 USCRIPT_MALAYALAM 时返回“Malayam”。

详情
参数
scriptCode
UScriptCode 枚举
返回值
PropertyValueAliases.txt 中给出的长脚本名称,或 4 字母代码,如果 scriptCode 无效则为 NULL

uscript_getSampleString

声明于 unicode/uscript.h
U_CAPI int32_t U_EXPORT2 uscript_getSampleString(
  UScriptCode script,
  UChar *dest,
  int32_t capacity,
  UErrorCode *pErrorCode
)

写入脚本示例字符字符串。

此字符串通常由一个码位组成,但可能更长。如果脚本未编码,则字符串为空。

详情
参数
script
脚本代码
dest
输出字符串数组
capacity
dest 数组中的 UChar 数量
要匹配的名称的选择器。
标准 ICU 输入/输出错误代码,输入时必须通过 U_SUCCESS()
返回值
字符串长度,即使出现 U_BUFFER_OVERFLOW_ERROR

uscript_getScript

声明于 unicode/uscript.h
U_CAPIUScriptCode U_EXPORT2 uscript_getScript(
  UChar32 codepoint,
  UErrorCode *err
)

获取与给定码点关联的脚本代码。

给定 0x0D02 时返回 USCRIPT_MALAYALAM

详情
参数
codepoint
UChar32 码位
err
错误状态码。
返回值
UScriptCode,如果 codepoint 无效则为 0

uscript_getScriptExtensions

声明于 unicode/uscript.h
U_CAPI int32_t U_EXPORT2 uscript_getScriptExtensions(
  UChar32 c,
  UScriptCode *scripts,
  int32_t capacity,
  UErrorCode *errorCode
)

将码点 c 的脚本扩展作为 UScriptCode 值列表写入输出 scripts 数组,并返回脚本代码的数量。

  • 如果 c 确实有 Script_Extensions,则不包含 Script 属性值(通常为 Common 或 Inherited)。
  • 如果 c 没有 Script_Extensions,则将一个 Script 代码写入输出数组。
  • 如果 c 不是有效的码位,则写入一个 USCRIPT_UNKNOWN 代码。换句话说,如果返回值为 1,则输出数组恰好包含 c 的单个 Script 代码。如果返回值为 n>=2,则输出数组包含 c 的 n 个 Script_Extensions 脚本代码。

有些字符在多个脚本中常用。更多信息请参阅 UAX #24:http://www.unicode.org/reports/tr24/

如果要写入的脚本代码数量超出 capacity,则设置 U_BUFFER_OVERFLOW_ERROR 并返回 Script_Extensions 的数量。(通常的 ICU 缓冲器处理行为。)

详情
参数
u_charAge
码位
scripts
输出脚本代码数组
capacity
scripts 数组的容量
errorCode
标准 ICU 错误代码。其输入值必须通过 U_SUCCESS() 测试,否则函数会立即返回。在输出时检查 U_FAILURE() 或与函数链一起使用。(详见用户指南。)
返回值
c 的 Script_Extensions 中的脚本代码数量,或单个 Script 值为 1,写入 scripts,除非 U_BUFFER_OVERFLOW_ERROR 指示容量不足

uscript_getShortName

声明于 unicode/uscript.h
U_CAPI const char *U_EXPORT2 uscript_getShortName(
  UScriptCode scriptCode
)

返回 4 字母 ISO 15924 脚本代码,如果 Unicode 对该脚本有名称,则该代码与短 Unicode 脚本名称相同。

给定 USCRIPT_MALAYALAM 时返回“Mlym”。

详情
参数
scriptCode
UScriptCode 枚举
返回值
脚本简称(4 字母代码),如果 scriptCode 无效则为 NULL

uscript_getUsage

声明于 unicode/uscript.h
U_CAPIUScriptUsage U_EXPORT2 uscript_getUsage(
  UScriptCode script
)

根据 UAX #31 Unicode 标识符和模式语法返回脚本用法。

如果脚本未在 Unicode 中编码,则返回 USCRIPT_USAGE_NOT_ENCODED。

另请参阅: UScriptUsage

详情
参数
script
脚本代码
返回值
脚本用途

uscript_hasScript

声明于 unicode/uscript.h
U_CAPIUBool U_EXPORT2 uscript_hasScript(
  UChar32 c,
  UScriptCode sc
)

码点 c 的脚本扩展是否包含脚本 sc?如果 c 没有显式脚本扩展,则此测试 c 是否具有脚本属性值 sc。

有些字符在多个脚本中常用。更多信息请参阅 UAX #24:http://www.unicode.org/reports/tr24/

详情
参数
u_charAge
码位
sc
脚本代码
返回值
如果 sc 在 Script_Extensions(c) 中,则返回 true

uscript_isCased

声明于 unicode/uscript.h
U_CAPIUBool U_EXPORT2 uscript_isCased(
  UScriptCode script
)

如果在现代(或最近的)脚本使用中区分大小写是习惯性的,则返回 true。

例如,Latn 和 Cyrl。

详情
参数
script
脚本代码
返回值
如果脚本区分大小写,则返回 true

uscript_isRightToLeft

声明于 unicode/uscript.h
U_CAPIUBool U_EXPORT2 uscript_isRightToLeft(
  UScriptCode script
)

如果脚本是从右到左书写,则返回 true。

例如,Arab 和 Hebr。

详情
参数
script
脚本代码
返回值
如果脚本是右到左书写,则返回 true

utext_char32At

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUChar32 U_EXPORT2 utext_char32At(
  UText *ut,
  int64_t nativeIndex
)

返回请求索引处的码点,如果超出范围则返回 U_SENTINEL (-1)。

如果指定的索引指向多单元字符的内部(例如 UTF-8 序列的某个后续字节),则会返回完整的码位。

迭代位置将设置为返回码位的起始处。

此函数大致等同于序列 utext_setNativeIndex(index); utext_current32();(如果索引因小于零而出界,则存在细微差异 - utext_setNativeIndex(负值) 将索引设置为零,之后 utext_current() 将返回零位置的字符。另一方面,utext_char32At(负索引) 将返回 U_SENTINEL 值 -1。)

详情
参数
ut
要访问的文本
nativeIndex
要访问字符的本地索引。如果索引指向多单元字符的第一个单元以外的位置,则会调整到字符的起始处。
返回值
指定索引处的码位。

utext_clone

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUText *U_EXPORT2 utext_clone(
  UText *dest,
  const UText *src,
  UBool deep,
  UBool readOnly,
  UErrorCode *status
)

克隆一个 UText。

这很像打开一个 UText,其中源文本本身是另一个 UText。

深层克隆将复制 UText 数据结构和底层文本。原始 UText 和克隆的 UText 将完全独立运行;在一个中对文本所做的修改不会影响另一个。文本提供程序不要求支持深层克隆。clone() 的用户必须检查返回的状态,并准备好处理失败。

UTF8、UChar *、UnicodeString 和 Replaceable 的标准 UText 实现都支持深层克隆。

从深层克隆返回的 UText 将是可写的,前提是文本提供程序能够支持写入,即使源 UText 已通过 UText_freeze() 设置为不可写。

浅层克隆仅复制 UText 数据结构;它不会复制底层文本。浅层克隆可作为在未修改的单个文本字符串中保持多个迭代器活动的有效方式。

浅层克隆操作不会失败,除非发生内存分配失败等真正异常的情况。

如果预计将在原始 UText 或克隆的 UText 上使用修改文本的 UText 函数,则应避免使用浅层 UText 克隆。任何此类修改都可能导致不可预测的行为。只读浅层克隆通过禁用通过克隆的 UText 修改文本来提供针对此类错误的一些保护。

readOnly 参数为 false 的浅层克隆将保留源对象的 utext_isWritable() 状态。但是请注意,当存在多个引用相同底层文本的 UText 时,必须避免写入操作。

UText 及其克隆可以安全地由单独的线程并发访问。浅层克隆仅适用于读取访问,深层克隆适用于读取和写入访问。文本提供程序有责任确保满足此线程安全约束。

详情
参数
dest
一个 UText 结构体,将填充克隆操作的结果,如果克隆函数应在堆上分配新的 UText 结构体,则为 NULL。如果非 NULL,则必须引用一个已存在的 UText,该 UText 将被重置以成为克隆。
src
要克隆的 UText。
deep
请求深层克隆为 true,请求浅层克隆为 false。
readOnly
请求克隆的 UText 对底层文本具有只读访问权限为 true。
status
此处返回错误。对于深层克隆,如果文本提供程序无法克隆原始文本,将返回 U_UNSUPPORTED_ERROR。
返回值
新创建的克隆,如果克隆操作失败则为 NULL。

utext_close

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUText *U_EXPORT2 utext_close(
  UText *ut
)

UTtext 实例的关闭函数。

清理,释放由打开的 UText 持有的任何资源。

如果 UText 最初是由某个 utext_open 函数分配的,则与该 utext 关联的存储也将被释放。如果 UText 存储源于应用程序(如局部或静态实例),则不会删除该存储。

可以通过使用 utext_open() 函数之一将打开的 UText 重置为引用新的字符串,而无需先关闭该 UText。

详情
参数
ut
要关闭的 UText。
返回值
如果 UText 结构体因关闭而被删除,则为 NULL。如果 UText 结构体最初由调用者提供给 open 函数,则此函数将返回该结构体,并且可以在后续的 utext_open 中安全地再次使用。

utext_current32

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUChar32 U_EXPORT2 utext_current32(
  UText *ut
)

获取当前迭代位置的码点,如果迭代已到达输入文本的末尾,则返回 U_SENTINEL (-1)。

详情
参数
ut
要访问的文本。
返回值
当前迭代器位置的 Unicode 码位。

utext_equals

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUBool U_EXPORT2 utext_equals(
  const UText *a,
  const UText *b
)

比较两个 UText 对象是否相等。

如果 UText 迭代的是相同的文本,并且在文本中具有相同的迭代位置,则它们相等。如果任一或两个参数为 NULL,则比较为 false。

详情
参数
a
要比较的两个 UText 中的第一个。
b
要比较的另一个 UText。
返回值
如果两个 UText 相等,则返回 true。

utext_extract

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPI int32_t U_EXPORT2 utext_extract(
  UText *ut,
  int64_t nativeStart,
  int64_t nativeLimit,
  UChar *dest,
  int32_t destCapacity,
  UErrorCode *status
)

从 UText 中提取文本到 UChar 缓冲区。

要提取的文本范围以 UText 提供程序的本地索引指定。这些不一定是 UTF-16 索引。

返回要提取数据的大小(16 位 UChar 数量)。即使由于指定缓冲器大小太小而截断提取的文本,也返回完整的 UChar 数量。

如果目标缓冲器中有足够的空间,提取的字符串将(如果您是用户)/必须(如果您是文本提供程序)以 NUL 终止。返回长度不包含此终止 NUL。

迭代索引留在最后一个提取字符后面的位置。

详情
参数
ut
从中提取数据的 UText。
nativeStart
要提取的第一个字符的本地索引。如果指定的索引超出范围,它将被限制在 0 <= 索引 <= textLength 范围内
nativeLimit
要提取的最后一个字符之后的位置的本地字符串索引。如果指定的索引超出范围,它将被限制在 0 <= 索引 <= textLength 范围内。nativeLimit 必须 >= nativeStart。
dest
放置提取文本的 UChar (UTF-16) 缓冲器
destCapacity
目标缓冲器的大小,以 UChars 为单位。可以是零以预计算所需大小。
status
接收任何错误状态。U_BUFFER_OVERFLOW_ERROR:提取的文本由于缓冲器太小而被截断。返回预检所需的 UChars 数量。
返回值
要提取数据中的 UChars 数量。不包含尾部 NUL。

utext_getNativeIndex

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPI int64_t U_EXPORT2 utext_getNativeIndex(
  const UText *ut
)

获取当前迭代位置,范围从 0 到文本长度。

该位置是输入文本的本地索引,无论其格式如何(例如可能是 UTF-8),并且可能不总是与相应的 UChar (UTF-16) 索引相同。返回的位置将始终对齐到码位边界。

详情
参数
ut
要访问的文本。
返回值
当前索引位置,以文本提供程序的本地单位表示。

utext_getPreviousNativeIndex

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPI int64_t U_EXPORT2 utext_getPreviousNativeIndex(
  UText *ut
)

获取前一个字符的本机索引。

如果迭代位置已在文本开头,则返回零。返回的值与从以下序列获得的值相同,但没有改变迭代位置的副作用。

UText  *ut = whatever;
  ...
utext_previous(ut)
utext_getNativeIndex(ut);

此函数在向前迭代期间最有用,它将获取最近从 utext_next() 返回的字符的本地索引。

详情
参数
ut
要访问的文本
返回值
当前索引位置前一个字符的本地索引,如果当前位置在文本开头,则为零。

utext_moveIndex32

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUBool U_EXPORT2 utext_moveIndex32(
  UText *ut,
  int32_t delta
)

将迭代器位置移动 delta 个码点。

码位数量是带符号的数字;负 delta 将使迭代器向后移动,朝向文本的开头。

索引向前或向后移动 delta 个码位,但不会向后超过 0,也不会向前超过 utext_nativeLength()。结果索引值将在 0 和 length 之间(包含两者)。

详情
参数
ut
要访问的文本。
delta
要移动迭代位置的带符号码位数量。
返回值
如果在保持在 [0 - 文本长度] 范围内的情况下,位置可以移动指定的数量,则返回 true。

utext_nativeLength

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPI int64_t U_EXPORT2 utext_nativeLength(
  UText *ut
)

获取文本长度。

根据底层文本表示的特性,这可能很耗时。另请参阅:utext_isLengthExpensive()

详情
参数
ut
要访问的文本。
返回值
文本的长度,以本地单位表示。

utext_next32

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUChar32 U_EXPORT2 utext_next32(
  UText *ut
)

获取 UText 当前迭代位置的码点,并将位置向前移动到该字符后的第一个索引。

如果位置在文本末尾(最后一个字符之后的索引,也是文本的长度),则返回 U_SENTINEL (-1) 并且不前进索引。

这是一个后增量操作。

此函数的内联宏版本 UTEXT_NEXT32() 可用于性能关键场景。

另请参阅:UTEXT_NEXT32

详情
参数
ut
要访问的文本。
返回值
迭代位置的 Unicode 码位。

utext_next32From

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUChar32 U_EXPORT2 utext_next32From(
  UText *ut,
  int64_t nativeIndex
)

设置迭代索引并返回该索引处的码点。

将迭代索引留在后续码位的起始处。

此函数是开始向前迭代最有效和便捷的方式。结果与序列产生的结果相同

utext_setIndex();
utext_next32();

详情
参数
ut
要访问的文本。
nativeIndex
迭代索引,以文本提供程序的本地单位表示。
返回值
在 index 处或之前的码位,如果超出边界则为 U_SENTINEL (-1)。

utext_openUChars

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUText *U_EXPORT2 utext_openUChars(
  UText *ut,
  const UChar *s,
  int64_t length,
  UErrorCode *status
)

打开 UChar * 字符串的只读 UText。

详情
参数
ut
指向 UText 结构体的指针。如果为 NULL,将创建一个新的 UText。如果非 NULL,则必须引用一个已初始化的 UText 结构体,该结构体将被重置以引用指定的 UChar 字符串。
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
一个 UChar (UTF-16) 字符串
name
输入字符串中的 UChars 数量,如果字符串以零终止则为 -1。
status
此处返回错误。
返回值
指向 UText 的指针。如果提供了预分配的 UText,则始终使用并返回它。

utext_openUTF8

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUText *U_EXPORT2 utext_openUTF8(
  UText *ut,
  const char *s,
  int64_t length,
  UErrorCode *status
)

打开 UTF-8 字符串的只读 UText 实现。

详情
参数
ut
指向 UText 结构体的指针。如果为 NULL,将创建一个新的 UText。如果非 NULL,则必须引用一个已初始化的 UText 结构体,该结构体将被重置以引用指定的 UTF-8 字符串。
一个码点可能占用一个或两个 UChar 代码单元。计数码点涉及读取所有代码单元。
一个 UTF-8 字符串。不得为 NULL。
name
UTF-8 字符串的长度(以字节为单位),如果字符串以零终止则为 -1。
status
此处返回错误。
返回值
指向 UText 的指针。如果提供了预分配的 UText,则始终使用并返回它。

utext_previous32

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUChar32 U_EXPORT2 utext_previous32(
  UText *ut
)

将迭代器位置移动到索引在当前位置之前的字符(码点),并返回该字符。

这是一个前减量操作。

如果初始位置在文本开头(索引为 0),则返回 U_SENTINEL (-1),并保持位置不变。

此函数的内联宏版本 UTEXT_PREVIOUS32() 可用于性能关键场景。

另请参阅:UTEXT_PREVIOUS32

详情
参数
ut
要访问的文本。
返回值
前一个 UChar32 码位,如果迭代已到达文本开头则为 U_SENTINEL (-1)。

utext_previous32From

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPIUChar32 U_EXPORT2 utext_previous32From(
  UText *ut,
  int64_t nativeIndex
)

设置迭代索引,并返回初始索引指定位置之前的码点。

将迭代位置留在返回码位的起始处。

此函数是开始向后迭代最有效和便捷的方式。

详情
参数
ut
要访问的文本。
nativeIndex
迭代索引,以文本提供程序的本地单位表示。
返回值
在初始索引处的码位之前的一个码位,如果超出边界则为 U_SENTINEL (-1)。

utext_setNativeIndex

这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h
U_CAPI void U_EXPORT2 utext_setNativeIndex(
  UText *ut,
  int64_t nativeIndex
)

将当前迭代位置设置为位于指定索引处或之前的最接近的码点边界。

该索引以原始输入文本的本地单位表示。如果索引超出范围,将被限制在输入文本的范围内。

通常使用 utext_next32From()utext_previous32From() 函数开始迭代会比使用 setIndex() 更高效。

将索引位置移动到相邻字符最好使用 utext_next32()utext_previous32()utext_moveIndex32() 完成。尝试对索引位置进行直接算术运算很复杂,因为字符的大小(以本地单位表示)取决于字符的底层表示(UTF-8、UTF-16、UTF-32、任意代码页),并且不容易得知。

详情
参数
ut
要访问的文本。
nativeIndex
新迭代位置的本地单位索引。

utrans_clone

声明于 unicode/utrans.h
U_CAPIUTransliterator *U_EXPORT2 utrans_clone(
  const UTransliterator *trans,
  UErrorCode *status
)

创建转写器的副本。

从此函数获得的任何非 NULL 结果都应稍后使用 utrans_close() 关闭。

详情
参数
trans
要复制的音译器。
status
指向 UErrorCode 的指针
返回值
一个音译器指针,可以传递给其他 utrans_xxx() 函数,如果克隆调用失败则为 NULL。

utrans_close

声明于 unicode/utrans.h
U_CAPI void U_EXPORT2 utrans_close(
  UTransliterator *trans
)

关闭转写器。

utrans_openXxx() 或 utrans_clone() 返回的任何非 NULL 指针最终都应关闭。

详情
参数
trans
要关闭的音译器。

utrans_openIDs

声明于 unicode/utrans.h
U_CAPIUEnumeration *U_EXPORT2 utrans_openIDs(
  UErrorCode *pErrorCode
)

返回可用转写器的 UEnumeration。

详情
参数
要匹配的名称的选择器。
指向 UErrorCode 输入/输出参数的指针。
返回值
可用音译器的 UEnumeration。使用 uenum_close() 关闭。

utrans_openInverse

声明于 unicode/utrans.h
U_CAPIUTransliterator *U_EXPORT2 utrans_openInverse(
  const UTransliterator *trans,
  UErrorCode *status
)

打开现有转写器的逆向转写器。

为了使其工作,必须在系统中注册反向音译器。例如,如果打开音译器“A-B”,然后打开其反向音译器,如果系统已注册这样的音译器,则结果是音译器“B-A”。否则结果为 NULL 并设置失败的 UErrorCode。从此函数获得的任何非 NULL 结果都应稍后使用 utrans_close() 关闭。

详情
参数
trans
要打开其反向音译器的音译器。
status
指向 UErrorCode 的指针
返回值
指向新打开的、是 trans 的反向音译器的指针,如果 open 调用失败则为 NULL。

utrans_openU

声明于 unicode/utrans.h
U_CAPIUTransliterator *U_EXPORT2 utrans_openU(
  const UChar *id,
  int32_t idLength,
  UTransDirection dir,
  const UChar *rules,
  int32_t rulesLength,
  UParseError *parseError,
  UErrorCode *pErrorCode
)

给定自定义规则字符串或系统转写器 ID,打开自定义转写器或系统转写器。

从此函数获得的任何非 NULL 结果都应稍后使用 utrans_close() 关闭。

详情
参数
id
有效的音译器 ID
idLength
ID 字符串的长度,如果以 NUL 终止则为 -1
dir
期望的方向
rules
音译器规则。规则语法请参阅 C++ 头文件 rbt.h。如果为 NULL,则返回与 ID 匹配的系统音译器。
rulesLength
规则的长度,如果规则以 NUL 终止则为 -1。
parseError
指向 UParseError 结构体的指针,用于接收任何解析错误的详细信息。如果不希望获取解析错误详细信息,此参数可以为 NULL。
要匹配的名称的选择器。
指向 UErrorCode 的指针
返回值
一个音译器指针,可以传递给其他 utrans_xxx() 函数,如果 open 调用失败则为 NULL。

utrans_setFilter

声明于 unicode/utrans.h
U_CAPI void U_EXPORT2 utrans_setFilter(
  UTransliterator *trans,
  const UChar *filterPattern,
  int32_t filterPatternLen,
  UErrorCode *status
)

设置转写器使用的过滤器。

可以使用过滤器使音译器不更改地传递某些字符。过滤器使用 UnicodeSet 模式表示。如果 filterPattern 为 NULL 或空字符串,则音译器将重置为不使用过滤器。

另请参阅:UnicodeSet

详情
参数
trans
音译器
filterPattern
模式字符串,采用 UnicodeSet 可接受的形式,指定要应用音译的字符。可以是 NULL 或空字符串,表示没有过滤器。
filterPatternLen
filterPattern 的长度,如果 filterPattern 以零终止则为 -1
status
指向 UErrorCode 的指针

utrans_toRules

声明于 unicode/utrans.h
U_CAPI int32_t U_EXPORT2 utrans_toRules(
  const UTransliterator *trans,
  UBool escapeUnprintable,
  UChar *result,
  int32_t resultLength,
  UErrorCode *status
)

创建可传递给 utrans_openU 以重新创建此转写器的规则字符串。

详情
参数
trans
音译器
escapeUnprintable
如果为 true,则将不可打印字符转换为其十六进制转义表示,\uxxxx 或 \Uxxxxxxxx。不可打印字符是指 U+000A, U+0020..U+007E 以外的字符。
result
指向接收规则的缓冲器的指针。
resultLength
result 的最大大小。
status
指向 UErrorCode 的指针。如果状态为错误,则 result 的内容未定义。
返回值
int32_t 规则字符串的长度(可能大于 resultLength,在这种情况下将返回错误)。

utrans_trans

声明于 unicode/utrans.h
U_CAPI void U_EXPORT2 utrans_trans(
  const UTransliterator *trans,
  UReplaceable *rep,
  const UReplaceableCallbacks *repFunc,
  int32_t start,
  int32_t *limit,
  UErrorCode *status
)

转写 UReplaceable 字符串的一个片段。

字符串作为 UReplaceable 指针 rep 和 UReplaceableCallbacks 函数指针结构体 repFunc 传入。repFunc 结构体中的函数将被调用以修改 rep 字符串。

详情
参数
trans
音译器
rep
指向字符串的指针。这将传递给 repFunc 函数。
repFunc
一组函数指针,将用于修改 rep 指向的字符串。
start
起始索引(包含);0 <= start <= limit
的连续范围中的第一个码点
指向结束索引(不包含)的指针;start <= limit <= repFunc->length(rep)。返回时,*limit 将包含新的结束索引。先前占用 [start, limit) 的文本已音译,可能转换为不同长度的字符串,位于 [start, new-limit),其中 new-limit 是返回值。
status
指向 UErrorCode 的指针

utrans_transIncremental

声明于 unicode/utrans.h
U_CAPI void U_EXPORT2 utrans_transIncremental(
  const UTransliterator *trans,
  UReplaceable *rep,
  const UReplaceableCallbacks *repFunc,
  UTransPosition *pos,
  UErrorCode *status
)

转写 UReplaceable 文本缓冲区中可以明确转写的部分。

此方法通常在新文本插入后调用,例如作为键盘事件的结果。音译器将尝试音译 rep 中介于 index.cursorindex.limit 之间的字符。index.cursor 之前的字符不会更改。

返回时,index 中的值将更新。index.start 将前进到此方法未来调用将读取的第一个字符。index.cursorindex.limit 将被调整以界定此方法未来调用可能更改的文本范围。

此方法的典型用法是首先进行初始调用,将 index.startindex.limit 设置为指示要音译的 text 部分,并设置 index.cursor == index.start。之后,可以在未来的调用中无需修改地使用 index,前提是所有对 text 的更改都通过此方法进行。

此方法假设未来可能会调用以将新文本插入到缓冲器中。因此,它只执行无歧义的音译。在此方法最后一次调用后,可能存在未音译的文本,正在等待更多输入来解决歧义。为了执行这些待处理的音译,客户端在此方法最后一次调用后应调用 utrans_trans(),将 start 设置为 index.start,将 limit 设置为 index.end。

详情
参数
trans
音译器
rep
指向字符串的指针。这将传递给 repFunc 函数。
repFunc
一组函数指针,将用于修改 rep 指向的字符串。
pos
包含要读取的文本和要音译的文本的起始和结束索引的结构体
status
指向 UErrorCode 的指针

utrans_transIncrementalUChars

声明于 unicode/utrans.h
U_CAPI void U_EXPORT2 utrans_transIncrementalUChars(
  const UTransliterator *trans,
  UChar *text,
  int32_t *textLength,
  int32_t textCapacity,
  UTransPosition *pos,
  UErrorCode *status
)

转写 UChar* 文本缓冲区中可以明确转写的部分。

参见 utrans_transIncremental()。字符串在 UChar* 缓冲器中传入。字符串在原地修改。如果结果长于 textCapacity,则会被截断。如果 textLength 非 NULL,则结果的实际长度在 *textLength 中返回。*textLength 可能大于 textCapacity,但只会将 textCapacity 个 UChars(包括零终止符)写入 *text。有关使用详情,请参阅 utrans_transIncremental()

另请参阅: utrans_transIncremental

详情
参数
trans
音译器
text
指向缓冲器的指针,输入时包含要音译的文本,输出时包含结果文本。
textLength
指向 text 中字符串长度的指针。如果长度为 -1,则假定字符串以零终止。返回时,新长度存储在 *textLength 中。如果 textLength 为 NULL,则假定字符串以零终止。
textCapacity
文本缓冲器的长度
pos
包含要读取的文本和要音译的文本的起始和结束索引的结构体
status
指向 UErrorCode 的指针

utrans_transUChars

声明于 unicode/utrans.h
U_CAPI void U_EXPORT2 utrans_transUChars(
  const UTransliterator *trans,
  UChar *text,
  int32_t *textLength,
  int32_t textCapacity,
  int32_t start,
  int32_t *limit,
  UErrorCode *status
)

转写 UChar* 字符串的一个片段。

字符串在 UChar* 缓冲器中传入。字符串在原地修改。如果结果长于 textCapacity,则会被截断。如果 textLength 非 NULL,则结果的实际长度在 *textLength 中返回。*textLength 可能大于 textCapacity,但只会将 textCapacity 个 UChars(包括零终止符)写入 *text。

详情
参数
trans
音译器
text
指向缓冲器的指针,输入时包含要音译的文本,输出时包含结果文本。
textLength
指向 text 中字符串长度的指针。如果长度为 -1,则假定字符串以零终止。返回时,新长度存储在 *textLength 中。如果 textLength 为 NULL,则假定字符串以零终止。
textCapacity
文本缓冲器的长度
start
起始索引(包含);0 <= start <= limit
的连续范围中的第一个码点
指向结束索引(不包含)的指针;start <= limit <= repFunc->length(rep)。返回时,*limit 将包含新的结束索引。先前占用 [start, limit) 的文本已音译,可能转换为不同长度的字符串,位于 [start, new-limit),其中 new-limit 是返回值。
status
指向 UErrorCode 的指针