ICU4C
摘要
类型别名 |
|
---|---|
OldUChar
|
OldUCharuint16_t
ICU 58 中 UChar 的默认定义。 |
UBidiPairedBracketType
|
typedef Bidi 配对括号类型常量。 |
UBlockCode
|
typedefenum UBlockCode
|
UBool
|
typedefint8_t
ICU 布尔类型,一个有符号字节整数。 |
UBreakIteratorType
|
typedefenum UBreakIteratorType
文本边界的可能类型。 |
UCPMap
|
typedefstruct UCPMap
从 Unicode 代码点 (U+0000..U+10FFFF) 到整数值的抽象映射。 |
UCPMapValueFilter(const void *context, uint32_t value)
|
typedefuint32_t U_CALLCONV
回调函数类型:修改映射值。 |
UChar
|
UCharchar16_t
UTF-16 代码单元和指针的基本类型。 |
UChar32
|
typedefint32_t
将 UChar32 定义为表示单个 Unicode 代码点的类型。 |
UCharCategory
|
typedefenum UCharCategory
枚举的 Unicode 通用类别类型的数据。 |
UCharDirection
|
typedefenum UCharDirection
这指定了字符集的语言方向属性。 |
UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type)
|
typedef 来自 u_enumCharTypes() 的回调,会为每个连续的代码点范围 c (其中 start<=c |
UCharNameChoice
|
typedefenum UCharNameChoice
u_charName() 函数的选择器常量。 |
UColAttribute
|
typedefenum UColAttribute
排序服务理解的属性。 |
UColAttributeValue
|
typedefenum UColAttributeValue
包含用于控制排序行为的属性值的枚举。 |
UColBoundMode
|
typedefenum UColBoundMode
由 ucol_getBound API 接受的枚举。请参阅下方解释,请勿更改此枚举成员分配的值。 |
UColReorderCode
|
typedefenum UColReorderCode
包含用于重新排序排序表段(非脚本代码)的代码的枚举。 |
UCollationResult
|
typedefenum UCollationResult
如果在 ucol_strcoll() 方法中源字符串被比较为小于目标字符串,则返回 UCOL_LESS。 |
UCollationStrength
|
typedef 基本字母表示主要差异。 |
UCollator
|
typedefstruct UCollator
表示排序器对象实例的结构 |
UDate
|
typedefdouble
日期和时间数据类型。 |
UDecompositionType
|
typedefenum UDecompositionType
分解类型常量。 |
UDisplayContext
|
typedefenum UDisplayContext
|
UDisplayContextType
|
typedefenum UDisplayContextType
|
UEastAsianWidth
|
typedefenum UEastAsianWidth
东亚宽度常量。 |
UEnumCharNamesFn(void *context, UChar32 code, UCharNameChoice nameChoice, const char *name, int32_t length)
|
typedef u_enumCharNames() 的回调函数类型,为每个 Unicode 字符调用,提供其代码点值和字符名称。 |
UEnumeration
|
typedefstruct UEnumeration
表示枚举对象实例的结构 |
UErrorCode
|
typedefenum UErrorCode
标准 ICU4C 错误代码类型,用于替代异常。 |
UGraphemeClusterBreak
|
typedef 字形簇边界常量。 |
UHangulSyllableType
|
typedefenum UHangulSyllableType
韩语音节类型常量。 |
UIdentifierStatus
|
typedefenum UIdentifierStatus
标识符状态常量。 |
UIdentifierType
|
typedefenum UIdentifierType
标识符类型常量。 |
UIndicConjunctBreak
|
typedefenum UIndicConjunctBreak
印度语连字边界常量。 |
UIndicPositionalCategory
|
typedef 印度语位置类别常量。 |
UIndicSyllabicCategory
|
typedef 印度语音节类别常量。 |
UJoiningGroup
|
typedefenum UJoiningGroup
连接组常量。 |
UJoiningType
|
typedefenum UJoiningType
连接类型常量。 |
ULineBreak
|
typedefenum ULineBreak
换行符常量。 |
ULineBreakTag
|
typedefenum ULineBreakTag
getRuleStatus() 返回的换行符标签的枚举常量。 |
ULocAvailableType
|
typedefenum ULocAvailableType
uloc_getAvailableByType 和 uloc_countAvailableByType 的类型。 |
ULocaleData
|
typedefstruct ULocaleData
一个区域设置数据对象。 |
ULocaleDisplayNames
|
typedefstruct ULocaleDisplayNames
struct ULocaleDisplayNames 的 C typedef。 |
UNormalizationCheckResult
|
typedef 规范化快速检查函数的结果值。 |
UNormalizer2
|
typedefstruct UNormalizer2
struct UNormalizer2 的 C typedef。 |
UNumericType
|
typedefenum UNumericType
数字类型常量。 |
UParseError
|
typedefstruct UParseError
UParseError 结构体用于返回关于解析错误的详细信息。 |
UProperty
|
typedefenum UProperty
Unicode 属性的选择常量。 |
UPropertyNameChoice
|
typedefenum UPropertyNameChoice
u_getPropertyName() 和 u_getPropertyValueName() 函数的选择器常量。 |
UReplaceable
|
typedefvoid *
一个不透明的可替换文本对象。 |
UReplaceableCallbacks
|
typedefstruct UReplaceableCallbacks
一组函数指针,转写器使用它们来操作 UReplaceable。 |
UScriptCode
|
typedefenum UScriptCode
ISO 15924 脚本代码常量。 |
UScriptUsage
|
typedefenum UScriptUsage
脚本用法常量。 |
USentenceBreak
|
typedefenum USentenceBreak
句子边界常量。 |
USentenceBreakTag
|
typedefenum USentenceBreakTag
getRuleStatus() 返回的句子边界标签的枚举常量。 |
UText
|
typedefstruct UText
struct UText 的 C typedef。 |
UTransDirection
|
typedefenum UTransDirection
指示转写器中方向的常量,例如 RuleBasedTransliterator 的正向或反向规则。 |
UTransPosition
|
typedefstruct UTransPosition
utrans_transIncremental() 增量转写的位置结构。 |
UTransliterator
|
typedefvoid *
用于 C 的不透明音译器。 |
UVersionInfo[U_MAX_VERSION_LENGTH]
|
typedefuint8_t
ICU API 上的版本的二进制形式是一个包含 4 个 uint8_t 的数组。 |
UVerticalOrientation
|
typedefenum UVerticalOrientation
垂直方向常量。 |
UWordBreak
|
typedefenum UWordBreak
getRuleStatus() 返回的单词边界标签的枚举常量。 |
UWordBreakValues
|
typedefenum UWordBreakValues
单词边界常量。 |
变量 |
|
---|---|
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)
|
U_CAPIUCharDirection U_EXPORT2
返回用于代码点的双向类别值,该值在 Unicode 双向算法 (UAX #9 http://www.unicode.org/reports/tr9/) 中使用。
|
u_charFromName(UCharNameChoice nameChoice, const char *name, UErrorCode *pErrorCode)
|
通过名称查找 Unicode 字符并返回其代码点值。
|
u_charMirror(UChar32 c)
|
将指定字符映射到“镜像”字符。
|
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)
|
根据 UnicodeData.txt 和 CaseFolding.txt 将给定字符映射到其大小写折叠等价物;如果字符没有大小写折叠等价物,则返回字符本身。
|
u_forDigit(int32_t digit, int8_t radix)
|
确定指定基数中特定数字的字符表示形式。
|
u_getBidiPairedBracket(UChar32 c)
|
将指定字符映射到其配对的括号字符。
|
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)
|
返回给定属性名称的 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)
|
检查代码点的二进制 Unicode 属性。
|
u_isIDIgnorable(UChar32 c)
|
根据 Java 确定指定字符在标识符中是否应被视为可忽略字符。
|
u_isIDPart(UChar32 c)
|
根据 UAX #31 Unicode 标识符和模式语法,确定指定字符是否允许作为标识符的非起始字符。
|
u_isIDStart(UChar32 c)
|
根据 UAX #31 Unicode 标识符和模式语法,确定指定字符是否允许作为标识符中的第一个字符。
|
u_isISOControl(UChar32 c)
|
确定指定的代码点是否为 ISO 控制代码。
|
u_isJavaIDPart(UChar32 c)
|
确定指定字符是否允许在 Java 标识符中使用。
|
u_isJavaIDStart(UChar32 c)
|
确定指定字符是否允许作为 Java 标识符中的第一个字符。
|
u_isJavaSpaceChar(UChar32 c)
|
根据 Java 确定指定代码点是否为空白字符。
|
u_isMirrored(UChar32 c)
|
确定代码点是否具有 Bidi_Mirrored 属性。
|
u_isUAlphabetic(UChar32 c)
|
检查代码点是否具有 Alphabetic Unicode 属性。
|
u_isULowercase(UChar32 c)
|
检查代码点是否具有 Lowercase Unicode 属性。
|
u_isUUppercase(UChar32 c)
|
检查代码点是否具有 Uppercase Unicode 属性。
|
u_isUWhiteSpace(UChar32 c)
|
检查代码点是否具有 White_Space Unicode 属性。
|
u_isWhitespace(UChar32 c)
|
根据 Java/ICU 确定指定代码点是否为空白字符。
|
u_isalnum(UChar32 c)
|
根据 Java 确定指定代码点是否为字母数字字符(字母或数字)。
|
u_isalpha(UChar32 c)
|
确定指定代码点是否为字母字符。
|
u_isbase(UChar32 c)
|
非标准:确定指定代码点是否为基础字符。
|
u_isblank(UChar32 c)
|
确定指定代码点是否为“空白”或“水平空格”,即在行上可见分隔单词的字符。
|
u_iscntrl(UChar32 c)
|
确定指定代码点是否为控制字符(由本函数定义)。
|
u_isdefined(UChar32 c)
|
确定指定代码点是否为“已定义”,这通常表示它已分配了字符。
|
u_isdigit(UChar32 c)
|
根据 Java 确定指定代码点是否为数字字符。
|
u_isgraph(UChar32 c)
|
确定指定代码点是否为“图形”字符(可打印,不包括空格)。
|
u_islower(UChar32 c)
|
确定指定代码点是否具有一般类别“Ll”(小写字母)。
|
u_isprint(UChar32 c)
|
确定指定代码点是否为可打印字符。
|
u_ispunct(UChar32 c)
|
确定指定代码点是否为标点符号。
|
u_isspace(UChar32 c)
|
确定指定字符是否为空格字符。
|
u_istitle(UChar32 c)
|
确定指定代码点是否为标题大小写字母。
|
u_isupper(UChar32 c)
|
确定指定代码点是否具有一般类别“Lu”(大写字母)。
|
u_isxdigit(UChar32 c)
|
确定指定代码点是否为十六进制数字。
|
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)
|
查找 BMP 代码点在字符串中首次出现的位置。
|
u_memchr32(const UChar *s, UChar32 c, int32_t count)
|
查找代码点在字符串中首次出现的位置。
|
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)
|
memcpy() 的同义词,但仅限 UChars。
|
u_memmove(UChar *dest, const UChar *src, int32_t count)
|
memmove() 的同义词,但仅限 UChars。
|
u_memrchr(const UChar *s, UChar c, int32_t count)
|
在字符串中查找 BMP 码点最后一次出现的位置。
|
u_memrchr32(const UChar *s, UChar32 c, int32_t count)
|
在字符串中查找码点最后一次出现的位置。
|
u_memset(UChar *dest, UChar c, int32_t count)
|
使用
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_strFindLast(const UChar *s, int32_t length, const UChar *substring, int32_t subLength)
|
在字符串中查找子字符串最后一次出现的位置。
|
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)
|
将 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)
|
将 UTF-32 字符串转换为 UTF-16。
|
u_strFromUTF8(UChar *dest, int32_t destCapacity, int32_t *pDestLength, const char *src, int32_t srcLength, UErrorCode *pErrorCode)
|
将 UTF-8 字符串转换为 UTF-16。
|
u_strFromUTF8Lenient(UChar *dest, int32_t destCapacity, int32_t *pDestLength, const char *src, int32_t srcLength, UErrorCode *pErrorCode)
|
将 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)
|
将 UTF-8 字符串转换为 UTF-16。
|
u_strHasMoreChar32Than(const UChar *s, int32_t length, int32_t number)
|
检查字符串是否包含比某个数字更多的 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)
|
将 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)
|
将 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)
|
连接两个 ustrings。
|
u_strchr(const UChar *s, UChar c)
|
查找 BMP 代码点在字符串中首次出现的位置。
|
u_strchr32(const UChar *s, UChar32 c)
|
查找代码点在字符串中首次出现的位置。
|
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)
|
复制一个 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)
|
连接两个 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)
|
复制一个 ustring。
|
u_strpbrk(const UChar *string, const UChar *matchSet)
|
查找字符串
string 中任何字符在字符串 matchSet 中第一次出现的位置。 |
u_strrchr(const UChar *s, UChar c)
|
在字符串中查找 BMP 码点最后一次出现的位置。
|
u_strrchr32(const UChar *s, UChar32 c)
|
在字符串中查找码点最后一次出现的位置。
|
u_strrstr(const UChar *s, const UChar *substring)
|
在字符串中查找子字符串最后一次出现的位置。
|
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_strtok_r(UChar *src, const UChar *delim, UChar **saveState)
|
字符串分词器 API 允许应用程序将字符串分解为词元。
|
u_tolower(UChar32 c)
|
根据 UnicodeData.txt 将给定字符映射到其小写等效项;如果该字符没有小写等效项,则返回该字符本身。
|
u_totitle(UChar32 c)
|
根据 UnicodeData.txt 将给定字符映射到其标题大小写等效项;如果未定义,则返回该字符本身。
|
u_toupper(UChar32 c)
|
根据 UnicodeData.txt 将给定字符映射到其大写等效项;如果该字符没有大写等效项,则返回该字符本身。
|
u_versionToString(const UVersionInfo versionArray, char *versionString)
|
U_CAPI void U_EXPORT2
根据输入的 UVersionInfo 写入带点分版本信息的字符串。
|
ubrk_clone(const UBreakIterator *bi, UErrorCode *status)
|
U_CAPIUBreakIterator *U_EXPORT2
线程安全克隆操作。
|
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)
|
如果指定位置是边界位置,则返回 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)
|
U_CAPIUBreakIterator *U_EXPORT2
打开一个新的 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)
|
线程安全克隆操作。
|
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)
|
U_CAPIUColAttributeValue U_EXPORT2
通用属性获取器。
|
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)
|
U_CAPIUColReorderCode U_EXPORT2
返回受 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)
|
U_CAPIUCollationStrength U_EXPORT2
获取 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)
|
打开一个 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)
|
根据提供的规则生成一个 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)
|
U_CAPIUCollationResult U_EXPORT2
比较两个字符串。
|
ucol_strcollUTF8(const UCollator *coll, const char *source, int32_t sourceLength, const char *target, int32_t targetLength, UErrorCode *status)
|
U_CAPIUCollationResult U_EXPORT2
比较两个 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)
|
返回迭代器列表中的下一个元素。
|
uldn_close(ULocaleDisplayNames *ldn)
|
U_CAPI void U_EXPORT2
关闭从 uldn_open() 获取的 ULocaleDisplayNames 实例。
|
uldn_getContext(const ULocaleDisplayNames *ldn, UDisplayContextType type, UErrorCode *pErrorCode)
|
U_CAPIUDisplayContext U_EXPORT2
返回指定 UDisplayContextType 的 UDisplayContext 值。
|
uldn_getDialectHandling(const ULocaleDisplayNames *ldn)
|
U_CAPIUDialectHandling U_EXPORT2
返回显示名称中使用的方言处理方式。
|
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)
|
U_CAPIULocaleDisplayNames *U_EXPORT2
返回一个 LocaleDisplayNames 实例,该实例使用提供的 dialectHandling 返回针对提供的区域设置格式化的名称。
|
uldn_openForContext(const char *locale, UDisplayContext *contexts, int32_t length, UErrorCode *pErrorCode)
|
U_CAPIULocaleDisplayNames *U_EXPORT2
返回一个 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)
|
返回区域设置的脚本是否是从右到左书写。
|
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)
|
执行 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)
|
测试该字符在其后是否总有规范化边界,无论上下文如何。
|
unorm2_hasBoundaryBefore(const UNormalizer2 *norm2, UChar32 c)
|
测试该字符在其前是否总有规范化边界,无论上下文如何。
|
unorm2_isInert(const UNormalizer2 *norm2, UChar32 c)
|
测试该字符是否规范化惰性。
|
unorm2_isNormalized(const UNormalizer2 *norm2, const UChar *s, int32_t length, UErrorCode *pErrorCode)
|
测试字符串是否已规范化。
|
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)
|
U_CAPIUNormalizationCheckResult U_EXPORT2
测试字符串是否已规范化。
|
unorm2_spanQuickCheckYes(const UNormalizer2 *norm2, const UChar *s, int32_t length, UErrorCode *pErrorCode)
|
U_CAPI int32_t U_EXPORT2
返回输入字符串中规范化子字符串的末尾。
|
uscript_breaksBetweenLetters(UScriptCode script)
|
如果脚本允许字母之间换行(不包括连字符),则返回 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)
|
码点 c 的脚本扩展是否包含脚本 sc?如果 c 没有显式脚本扩展,则此测试 c 是否具有脚本属性值 sc。
|
uscript_isCased(UScriptCode script)
|
如果在现代(或最近的)脚本使用中区分大小写是习惯性的,则返回 true。
|
uscript_isRightToLeft(UScriptCode script)
|
如果脚本是从右到左书写,则返回 true。
|
utext_char32At(UText *ut, int64_t nativeIndex)
|
返回请求索引处的码点,如果超出范围则返回 U_SENTINEL (-1)。
|
utext_clone(UText *dest, const UText *src, UBool deep, UBool readOnly, UErrorCode *status)
|
克隆一个 UText。
|
utext_close(UText *ut)
|
UTtext 实例的关闭函数。
|
utext_current32(UText *ut)
|
获取当前迭代位置的码点,如果迭代已到达输入文本的末尾,则返回 U_SENTINEL (-1)。
|
utext_equals(const UText *a, const UText *b)
|
比较两个 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)
|
将迭代器位置移动 delta 个码点。
|
utext_nativeLength(UText *ut)
|
U_CAPI int64_t U_EXPORT2
获取文本长度。
|
utext_next32(UText *ut)
|
获取 UText 当前迭代位置的码点,并将位置向前移动到该字符后的第一个索引。
|
utext_next32From(UText *ut, int64_t nativeIndex)
|
设置迭代索引并返回该索引处的码点。
|
utext_openUChars(UText *ut, const UChar *s, int64_t length, UErrorCode *status)
|
打开 UChar * 字符串的只读 UText。
|
utext_openUTF8(UText *ut, const char *s, int64_t length, UErrorCode *status)
|
打开 UTF-8 字符串的只读 UText 实现。
|
utext_previous32(UText *ut)
|
将迭代器位置移动到索引在当前位置之前的字符(码点),并返回该字符。
|
utext_previous32From(UText *ut, int64_t nativeIndex)
|
设置迭代索引,并返回初始索引指定位置之前的码点。
|
utext_setNativeIndex(UText *ut, int64_t nativeIndex)
|
U_CAPI void U_EXPORT2
将当前迭代位置设置为位于指定索引处或之前的最接近的码点边界。
|
utrans_clone(const UTransliterator *trans, UErrorCode *status)
|
U_CAPIUTransliterator *U_EXPORT2
创建转写器的副本。
|
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)
|
U_CAPIUTransliterator *U_EXPORT2
打开现有转写器的逆向转写器。
|
utrans_openU(const UChar *id, int32_t idLength, UTransDirection dir, const UChar *rules, int32_t rulesLength, UParseError *parseError, UErrorCode *pErrorCode)
|
U_CAPIUTransliterator *U_EXPORT2
给定自定义规则字符串或系统转写器 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
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。
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; }
这样,在此类函数的链中,第一个设置错误代码的函数会阻止后续函数执行任何操作。
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
UIdentifierType
在unicode/uchar.h
中声明
UIdentifierType
标识符类型常量。
请参阅 https://www.unicode.org/reports/tr39/#Identifier_Status_and_Type。
另请参阅: UCHAR_IDENTIFIER_TYPE
UIndicConjunctBreak
在unicode/uchar.h
中声明
UIndicConjunctBreak
印度语连字边界常量。
另请参阅: UCHAR_INDIC_CONJUNCT_BREAK
属性 | |
---|---|
U_INCB_CONSONANT |
|
U_INCB_EXTEND |
|
U_INCB_LINKER |
|
U_INCB_NONE |
|
UIndicPositionalCategory
在unicode/uchar.h
中声明
UIndicPositionalCategory
印度语位置类别常量。
另请参阅: UCHAR_INDIC_POSITIONAL_CATEGORY
UIndicSyllabicCategory
在unicode/uchar.h
中声明
UIndicSyllabicCategory
印度语音节类别常量。
另请参阅: UCHAR_INDIC_SYLLABIC_CATEGORY
UJoiningGroup
在unicode/uchar.h
中声明
UJoiningGroup
连接组常量。
另请参阅: UCHAR_JOINING_GROUP
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 |
ULineBreak
在unicode/uchar.h
中声明
ULineBreak
换行符常量。
另请参阅: UCHAR_LINE_BREAK
属性 | |
---|---|
U_LB_AKSARA |
|
U_LB_AKSARA_PREBASE |
|
U_LB_AKSARA_START |
|
U_LB_ALPHABETIC |
|
U_LB_AMBIGUOUS |
|
U_LB_BREAK_AFTER |
|
U_LB_BREAK_BEFORE |
|
U_LB_BREAK_BOTH |
|
U_LB_BREAK_SYMBOLS |
|
U_LB_CARRIAGE_RETURN |
|
U_LB_CLOSE_PARENTHESIS |
|
U_LB_CLOSE_PUNCTUATION |
|
U_LB_COMBINING_MARK |
|
U_LB_COMPLEX_CONTEXT |
|
U_LB_CONDITIONAL_JAPANESE_STARTER |
|
U_LB_CONTINGENT_BREAK |
|
U_LB_COUNT |
比最高正常 ULineBreak 值大一。 可通过 u_getIntPropertyMaxValue(UCHAR_LINE_BREAK) 获取最高值。 已弃用。 ICU 58 数值可能会随时间变化,请参阅 ICU 错误报告 #12420。 |
U_LB_EXCLAMATION |
|
U_LB_E_BASE |
|
U_LB_E_MODIFIER |
|
U_LB_GLUE |
|
U_LB_H2 |
|
U_LB_H3 |
|
U_LB_HEBREW_LETTER |
|
U_LB_HYPHEN |
|
U_LB_IDEOGRAPHIC |
|
U_LB_INFIX_NUMERIC |
|
U_LB_INSEPARABLE |
在 Unicode 4.0.1/ICU 3.0 中从拼写错误的“inseperable”重命名而来。
|
U_LB_INSEPERABLE |
|
U_LB_JL |
|
U_LB_JT |
|
U_LB_JV |
|
U_LB_LINE_FEED |
|
U_LB_MANDATORY_BREAK |
|
U_LB_NEXT_LINE |
|
U_LB_NONSTARTER |
|
U_LB_NUMERIC |
|
U_LB_OPEN_PUNCTUATION |
|
U_LB_POSTFIX_NUMERIC |
|
U_LB_PREFIX_NUMERIC |
|
U_LB_QUOTATION |
|
U_LB_REGIONAL_INDICATOR |
|
U_LB_SPACE |
|
U_LB_SURROGATE |
|
U_LB_UNKNOWN |
|
U_LB_VIRAMA |
|
U_LB_VIRAMA_FINAL |
|
U_LB_WORD_JOINER |
|
U_LB_ZWJ |
|
U_LB_ZWSPACE |
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 时返回数据的旧版或别名区域设置。 支持的旧版或别名区域设置示例
此集合中的区域设置与 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 等不受单独编码约束的脚本代码可随时添加。
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 为 对于使用规则打开的音译器,它表示正向规则,例如“A > B”。 |
UTRANS_REVERSE |
UTRANS_REVERSE 表示从 对于使用规则打开的音译器,它表示反向规则,例如“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 配对括号类型常量。
UBool
声明于unicode/umachine.h
int8_t UBool
ICU 布尔类型,一个有符号字节整数。
出于历史原因的 ICU 特有:C 和 C++ 标准过去没有定义类型 bool。此外,提供了固定类型定义,与类型 bool 不同,后者的细节(例如 sizeof)可能因编译器以及 C 和 C++ 之间而异。
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 函数返回。
可用于忽略部分值位、创建多个值之一的过滤器、返回根据映射值计算的值索引等。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
修改后的值
|
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 。
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
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
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”。
UDate
在 unicode/utypes.h 中声明double UDate
日期和时间数据类型。
当两个字符具有相同的 Unicode 拼写时,它们被视为“相同”。UCOL_IDENTICAL。例如,“ä” == “ä”。
UDecompositionType
在unicode/uchar.h
中声明
enum UDecompositionType UDecompositionType
分解类型常量。
另请参阅: UCHAR_DECOMPOSITION_TYPE
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
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
length
|
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
字形簇边界常量。
UIndicPositionalCategory
在unicode/uchar.h
中声明
enum UIndicPositionalCategory UIndicPositionalCategory
印度语位置类别常量。
UIndicSyllabicCategory
在unicode/uchar.h
中声明
enum UIndicSyllabicCategory UIndicSyllabicCategory
印度语音节类别常量。
UJoiningGroup
在unicode/uchar.h
中声明
enum UJoiningGroup UJoiningGroup
连接组常量。
另请参阅: UCHAR_JOINING_GROUP
ULineBreakTag
声明于unicode/ubrk.h
enum ULineBreakTag ULineBreakTag
getRuleStatus() 返回的换行符标签的枚举常量。
为每个单词类别定义了一个值范围,以便在未来版本中对类别进行进一步细分。应用程序应检查落在范围内的标签值,而不是单个值。
所有这些常量的值都是稳定的(不会改变)。
ULocAvailableType
在unicode/uloc.h
中声明
enum ULocAvailableType ULocAvailableType
uloc_getAvailableByType 和 uloc_countAvailableByType 的类型。
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
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 及其子类。另请参阅:Transliteratoruint8_t UVersionInfo[U_MAX_VERSION_LENGTH]
ICU API 上的版本的二进制形式是一个包含 4 个 uint8_t 的数组。
UVersionInfo
UWordBreak
声明于unicode/ubrk.h
enum UWordBreak UWordBreak
getRuleStatus() 返回的单词边界标签的枚举常量。
为每个单词类别定义了一个值范围,以便在未来版本中对类别进行进一步细分。应用程序应检查落在范围内的标签值,而不是单个值。
所有这些常量的值都是稳定的(不会改变)。
变量
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() 的不透明指针
在unicode/uchar.h
中声明
U_CAPI void U_EXPORT2 u_charAge( UChar32 c, UVersionInfo versionArray )
获取代码点的“年龄”。
偏移量处转义序列表示的字符
详情 | |||||
---|---|---|---|---|---|
参数 |
|
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_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 的双向值,因为它们位于为从右到左脚本保留的块中。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
另请参阅: UCharDirection
|
要测试的码点
在unicode/uchar.h
中声明
U_CAPIUChar32 U_EXPORT2 u_charFromName( UCharNameChoice nameChoice, const char *name, UErrorCode *pErrorCode )
通过名称查找 Unicode 字符并返回其代码点值。
双向类别 (UCharDirection) 值
u_charFromName
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
pErrorCode
|
指向 UErrorCode 变量的指针
在unicode/uchar.h
中声明
U_CAPIUChar32 U_EXPORT2 u_charMirror( UChar32 c )
将指定字符映射到“镜像”字符。
具有给定名称的码点的 Unicode 值,如果不存在此类码点,则为未定义值。
u_charMirror
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
另请参阅: 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
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
==sizeof(buffer)
|
指向 UErrorCode 变量的指针;在 u_charName()
返回后检查 U_SUCCESS()
。
在 unicode/uchar.h
中声明
U_CAPI int8_t U_EXPORT2 u_charType( UChar32 c )
返回代码点的一般类别值。
名称的长度,如果此字符没有名称,则为 0。如果 bufferLength 小于或等于长度,则缓冲区包含截断的名称,返回的长度表示名称的完整长度。长度不包含零终止符。
u_charType
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与 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 代码单元数,或 -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) 的拉丁字母。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
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
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
传递给函数的任意指针。
在unicode/uchar.h
中声明
U_CAPI void U_EXPORT2 u_enumCharTypes( UCharEnumTypeRange *enumRange, const void *context )
高效地枚举所有代码点及其 Unicode 一般类别。
要枚举哪种名称的选择器。
u_enumCharTypes
这对于构建数据结构(例如 UnicodeSet)非常有用,对于枚举所有已分配的码点(type!=U_UNASSIGNED)等。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
一个函数指针,为每个具有相同一般类别的连续码点范围调用此函数
在 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 枚举中的错误码常量名称相同。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
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
。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
digit
|
要转换为字符的数字。
在unicode/uchar.h
中声明
U_CAPIUChar32 U_EXPORT2 u_getBidiPairedBracket( UChar32 c )
将指定字符映射到其配对的括号字符。
指定数字在指定基数中的 char
表示。
u_getBidiPairedBracket
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
对于 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_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)
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
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)
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
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。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
要测试的码点。
|
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_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
识别短名称、长名称和任何其他变体。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
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
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
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() 之前有效。
识别短名称、长名称和任何其他变体。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
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
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
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,...
详情 | |||
---|---|---|---|
参数 |
|
版本数组将填充当前 ICU 使用的 Unicode 标准版本信息。例如,Unicode 3.1.1 版本表示为一个值为 { 3, 1, 1, 0 } 的数组。
使用 utrans_openxxx() 打开,完成后使用 utrans_close() 关闭。等同于 C++ 类 Transliterator 及其子类。另请参阅:TransliteratorU_CAPI void U_EXPORT2 u_getVersion( UVersionInfo versionArray )
获取 ICU 发布版本。
一个输出数组,将填充 Unicode 版本号
详情 | |||
---|---|---|---|
参数 |
|
版本数组存储 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。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
重要:如果 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() 相同。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
请注意,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
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与 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
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与 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。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与 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。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与 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。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与 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() 相同。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
注意: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
对于通常用于从右到左上下文并需要显示为“镜像”字形的字符,设置此属性。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与 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_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_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_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_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 版本差异,它可能不会返回完全相同的结果。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
注意: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。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与 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。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与 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。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
请注意,这与 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+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_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)。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
与 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。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
对于一般类别为“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_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
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果码点是 Ll 小写字母,则为 true
|
u_isprint
在unicode/uchar.h
中声明
U_CAPIUBool U_EXPORT2 u_isprint( UChar32 c )
确定指定代码点是否为可打印字符。
对于除了“C”(控制字符)以外的通用类别,为 True。
与
参见: UCHAR_DEFAULT_IGNORABLE_CODE_POINT 参见: u_iscntrl
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果码点是可打印字符,则为 true
|
u_ispunct
在unicode/uchar.h
中声明
U_CAPIUBool U_EXPORT2 u_ispunct( UChar32 c )
确定指定代码点是否为标点符号。
对于通用类别为“P”(标点)的字符,为 True。
与
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果码点是标点字符,则为 true
|
u_isspace
在unicode/uchar.h
中声明
U_CAPIUBool U_EXPORT2 u_isspace( UChar32 c )
确定指定字符是否为空格字符。
对于一般类别为“Z”(分隔符)的字符返回 true,但不包括控制码(例如 TAB 或换行符)。
与
参见: u_isJavaSpaceChar 参见: u_isWhitespace 参见: u_isUWhiteSpace
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果字符是空格字符,则为 true;否则为 false。
|
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
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果码点是 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))。
与
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果码点是十六进制数字,则为 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))。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
指示比较结果的负、零或正整数。
|
u_memchr
声明于unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_memchr( const UChar *s, UChar c, int32_t count )
查找 BMP 代码点在字符串中首次出现的位置。
仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
指向
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 字符。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
指向
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 时,返回负数。当 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()。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
根据第一个字符串在码点顺序中是小于/等于/大于第二个字符串,返回负/零/正整数
|
u_memcpy
声明于unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_memcpy( UChar *dest, const UChar *src, int32_t count )
memcpy() 的同义词,但仅限 UChars。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
指向
dest 的指针 |
u_memmove
声明于unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_memmove( UChar *dest, const UChar *src, int32_t count )
memmove() 的同义词,但仅限 UChars。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
指向
dest 的指针 |
u_memrchr
声明于unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_memrchr( const UChar *s, UChar c, int32_t count )
在字符串中查找 BMP 码点最后一次出现的位置。
仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
指向
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 字符。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
指向
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_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 终止字符串。
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
字符串比较时通常的 <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 终止字符串。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
字符串比较时通常的 <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 )
在字符串中查找子字符串第一次出现的位置。
子字符串在码点边界处找到。这意味着如果子字符串以尾随代理项开头或以引导代理项结尾,则只有当这些代理项在文本中独立存在时才找到。否则,子字符串边缘单元将与代理对的一半进行匹配。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
指向
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 )
在字符串中查找子字符串最后一次出现的位置。
子字符串在码点边界处找到。这意味着如果子字符串以尾随代理项开头或以引导代理项结尾,则只有当这些代理项在文本中独立存在时才找到。否则,子字符串边缘单元将与代理对的一半进行匹配。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
指向
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 的映射。
结果可能比原始字符串长或短。源字符串和目标缓冲区允许重叠。
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
结果字符串的长度。它可能大于 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
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
指向目标缓冲区的指针。
|
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
详情 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||||
返回值 |
指向目标缓冲区的指针。
|
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
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
指向目标缓冲区的指针。
|
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
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
指向目标缓冲区的指针。
|
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
详情 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||||
返回值 |
指向目标缓冲区的指针。
|
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 代码单元。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
布尔值,表示字符串是否包含的 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 )
将字符串中的字符转换为小写。
大小写区分语言环境且区分上下文。结果可能比原始字符串长或短。源字符串和目标缓冲区允许重叠。
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
结果字符串的长度。它可能大于 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() 方法。
结果可能比原始字符串长或短。源字符串和目标缓冲区允许重叠。
详情 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||
返回值 |
结果字符串的长度。它可能大于 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
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
指向目标缓冲区的指针。
|
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
详情 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||||
返回值 |
指向目标缓冲区的指针。
|
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
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
指向目标缓冲区的指针。
|
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
详情 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||||
返回值 |
指向目标缓冲区的指针。
|
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 )
将字符串中的字符转换为大写。
大小写区分语言环境且区分上下文。结果可能比原始字符串长或短。源字符串和目标缓冲区允许重叠。
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
结果字符串的长度。它可能大于 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))。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
指示比较结果的负、零或正整数。
|
u_strcat
声明于unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strcat( UChar *dst, const UChar *src )
连接两个 ustrings。
将 src
的副本(包括空终止符)附加到 dst
。从 src
复制的第一个字符会覆盖 dst
中的空终止符。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向
dst 的指针。 |
u_strchr
声明于unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strchr( const UChar *s, UChar c )
查找 BMP 代码点在字符串中首次出现的位置。
仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向
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 字符。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向
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 按位相等,则为 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。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
根据第一个字符串在码点顺序中是小于/等于/大于第二个字符串,返回负/零/正整数
|
u_strcpy
声明于unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strcpy( UChar *dst, const UChar *src )
复制一个 ustring。
添加一个空终止符。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向
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 中未出现在 matchSet 中的起始字符数。 |
u_strlen
声明于unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strlen( const UChar *s )
确定 UChar 数组的长度。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
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))。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
指示比较结果的负、零或正整数。
|
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 的指针。 |
u_strncmp
声明于unicode/uversion.h
U_CAPI int32_t U_EXPORT2 u_strncmp( const UChar *ucs1, const UChar *ucs2, int32_t n )
比较两个 ustrings 的按位等价性。
比较最多 n
个字符。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
如果
s1 和 s2 按位相等,则为 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()。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
根据第一个字符串在码点顺序中是小于/等于/大于第二个字符串,返回负/零/正整数
|
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 的指针。 |
u_strpbrk
声明于unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strpbrk( const UChar *string, const UChar *matchSet )
查找字符串 string
中任何字符在字符串 matchSet
中第一次出现的位置。
功能与 C 语言的 strpbrk 类似,但支持 Unicode。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向
string 中与 matchSet 中的字符之一匹配的字符的指针,如果未找到此类字符,则为 NULL。 |
u_strrchr
声明于unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strrchr( const UChar *s, UChar c )
在字符串中查找 BMP 码点最后一次出现的位置。
仅当文本中的代理码点匹配不属于代理对时才找到代理码点。在字符串终止符处找到 NULL 字符。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向
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 字符。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向
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 )
在字符串中查找子字符串最后一次出现的位置。
子字符串在码点边界处找到。这意味着如果子字符串以尾随代理项开头或以引导代理项结尾,则只有当这些代理项在文本中独立存在时才找到。否则,子字符串边缘单元将与代理对的一半进行匹配。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向
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 中出现在 matchSet 中的起始字符数。 |
u_strstr
声明于unicode/uversion.h
U_CAPIUChar *U_EXPORT2 u_strstr( const UChar *s, const UChar *substring )
在字符串中查找子字符串第一次出现的位置。
子字符串在码点边界处找到。这意味着如果子字符串以尾随代理项开头或以引导代理项结尾,则只有当这些代理项在文本中独立存在时才找到。否则,子字符串边缘单元将与代理对的一半进行匹配。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向
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 中找到的下一个标记的指针,或者当没有更多标记时为 NULL。
|
u_tolower
在unicode/uchar.h
中声明
U_CAPIUChar32 U_EXPORT2 u_tolower( UChar32 c )
根据 UnicodeData.txt 将给定字符映射到其小写等效项;如果该字符没有小写等效项,则返回该字符本身。
与 java.lang.Character.toLowerCase() 相同。
该字符串将与上面 UErrorCode 枚举中的错误码常量名称相同。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
码点的 Simple_Lowercase_Mapping(如果存在);否则为码点本身。
|
u_totitle
在unicode/uchar.h
中声明
U_CAPIUChar32 U_EXPORT2 u_totitle( UChar32 c )
根据 UnicodeData.txt 将给定字符映射到其标题大小写等效项;如果未定义,则返回该字符本身。
与 java.lang.Character.toTitleCase() 相同。
该字符串将与上面 UErrorCode 枚举中的错误码常量名称相同。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
码点的 Simple_Titlecase_Mapping(如果存在);否则为码点本身。
|
u_toupper
在unicode/uchar.h
中声明
U_CAPIUChar32 U_EXPORT2 u_toupper( UChar32 c )
根据 UnicodeData.txt 将给定字符映射到其大写等效项;如果该字符没有大写等效项,则返回该字符本身。
与 java.lang.Character.toUpperCase() 相同。
该字符串将与上面 UErrorCode 枚举中的错误码常量名称相同。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
码点的 Simple_Uppercase_Mapping(如果存在);否则为码点本身。
|
u_versionToString
使用 utrans_openxxx() 打开,完成后使用 utrans_close() 关闭。等同于 C++ 类 Transliterator 及其子类。另请参阅:TransliteratorU_CAPI void U_EXPORT2 u_versionToString( const UVersionInfo versionArray, char *versionString )
根据输入的 UVersionInfo 写入带点分版本信息的字符串。
此函数的定义位于 putil.c 中
详情 | |||||
---|---|---|---|---|---|
参数 |
|
ubrk_clone
声明于unicode/ubrk.h
U_CAPIUBreakIterator *U_EXPORT2 ubrk_clone( const UBreakIterator *bi, UErrorCode *status )
线程安全克隆操作。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向新克隆的指针
|
ubrk_close
声明于unicode/ubrk.h
U_CAPI void U_EXPORT2 ubrk_close( UBreakIterator *bi )
关闭 UBreakIterator。
关闭后,UBreakIterator 将不再可用。
详情 | |||
---|---|---|---|
参数 |
|
ubrk_countAvailable
声明于unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_countAvailable( void )
确定有多少区域设置具有可用的文本断行信息。
此函数最常用于确定调用 ubrk_getAvailable 的循环结束条件。参见:ubrk_getAvailable
详情 | |
---|---|
返回值 |
文本断字信息可用的语言环境数。
|
ubrk_following
声明于unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_following( UBreakIterator *bi, int32_t offset )
将迭代器向前移动到指定偏移量后的第一个边界。
返回的值总是大于 offset,或者 UBRK_DONE。参见:ubrk_preceding
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
偏移量后的文本边界,或者 UBRK_DONE。
|
ubrk_getAvailable
声明于unicode/ubrk.h
U_CAPI const char *U_EXPORT2 ubrk_getAvailable( int32_t index )
获取具有可用文本断行信息的区域设置。
由此函数返回的语言环境中的 UBreakIterator 将执行该语言环境的正确文本断字。参见:ubrk_countAvailable
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
可获得数字文本断字信息的语言环境,如果不存在则为 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 中定义。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
由规则确定的最近边界的状态值数量,该规则由断字迭代器返回。
|
ubrk_isBoundary
声明于unicode/ubrk.h
U_CAPIUBool U_EXPORT2 ubrk_isBoundary( UBreakIterator *bi, int32_t offset )
如果指定位置是边界位置,则返回 true。
作为副作用,使迭代器指向位于或在“offset”之后的第一个边界位置。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
如果“offset”是边界位置,则为 True。
|
ubrk_last
声明于unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_last( UBreakIterator *bi )
将迭代器位置设置为要扫描文本中最后一个字符 之后 的索引。
这与最后一个字符不同。参见:ubrk_first
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
要扫描的文本中最后一个字符的紧邻之后的字符偏移量。
|
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_preceding
声明于unicode/ubrk.h
U_CAPI int32_t U_EXPORT2 ubrk_preceding( UBreakIterator *bi, int32_t offset )
将迭代器位置设置为指定偏移量前的第一个边界。
新位置总是小于 offset,或者 UBRK_DONE。参见:ubrk_following
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
偏移量之前的文本边界,或者 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 保留引用时,调用方不得修改或删除文本。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
ubrk_setUText
声明于unicode/ubrk.h
U_CAPI void U_EXPORT2 ubrk_setUText( UBreakIterator *bi, UText *text, UErrorCode *status )
设置现有迭代器指向一段新文本。
断字迭代器函数返回的所有索引位置都是 UText 的原生索引。例如,在断字 UTF-8 编码文本时,ubrk_next、ubrk_previous 等函数返回的断字位置将是 UTF-8 字符串索引,而不是 UTF-16 位置。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
ucol_clone
声明于unicode/ucol.h
U_CAPIUCollator *U_EXPORT2 ucol_clone( const UCollator *coll, UErrorCode *status )
线程安全克隆操作。
结果是给定 collator 的克隆。参见:ucol_open参见:ucol_openRules参见:ucol_close
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向新克隆的指针
|
ucol_close
声明于unicode/ucol.h
U_CAPI void U_EXPORT2 ucol_close( UCollator *coll )
关闭 UCollator。
关闭后,UCollator 不应再使用。每个打开的 collator 都应关闭。否则,将导致内存泄漏。参见:ucol_open参见:ucol_openRules参见:ucol_clone
详情 | |||
---|---|---|---|
参数 |
|
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
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
参数 |
|
||||
返回值 |
属性值
|
ucol_getAvailable
声明于unicode/ucol.h
U_CAPI const char *U_EXPORT2 ucol_getAvailable( int32_t localeIndex )
获取具有可用排序规则的区域设置。
此函数返回的语言环境中的 UCollator 将执行该语言环境的正确排序。参见:ucol_countAvailable
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
可获得排序规则的语言环境,如果不存在则为 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 的显示名称。
显示名称适合呈现给用户。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
所需的总缓冲区大小;如果大于 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
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
写入 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 用户指南的语言环境和服务部分。
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
语言环境所需的实际缓冲区大小。如果大于 resultCapacity,返回的全名将被截断,并返回错误代码。
|
ucol_getKeywordValues
声明于unicode/ucol.h
U_CAPIUEnumeration *U_EXPORT2 ucol_getKeywordValues( const char *keyword, UErrorCode *status )
给定一个关键字,创建一个字符串枚举器,列出该关键字当前使用的所有值。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
排序关键字值的字符串枚举,出错时为 NULL。调用方负责关闭结果。
|
ucol_getKeywordValuesForLocale
声明于unicode/ucol.h
U_CAPIUEnumeration *U_EXPORT2 ucol_getKeywordValuesForLocale( const char *key, const char *locale, UBool commonlyUsed, UErrorCode *status )
给定一个键和区域设置,返回一个按首选顺序排列的字符串值数组,这些值会产生影响。
这些是所有且仅那些值,其中使用由输入语言环境加上输入关键字和该值形成的语言环境打开(创建)服务与仅使用输入语言环境创建服务的行为不同。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
给定键和语言环境的关键字值字符串枚举。
|
ucol_getKeywords
声明于unicode/ucol.h
U_CAPIUEnumeration *U_EXPORT2 ucol_getKeywords( UErrorCode *status )
创建一个字符串枚举器,列出与排序相关的所有可能关键字。
目前,此服务唯一识别的关键字是“collation”。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
语言环境字符串的字符串枚举。调用方负责关闭结果。
|
ucol_getMaxVariable
声明于unicode/ucol.h
U_CAPIUColReorderCode U_EXPORT2 ucol_getMaxVariable( const UCollator *coll )
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
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
写入 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
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
完全存储排序键所需的空间大小。如果在生成排序键时出现内部错误,则返回零值。
|
ucol_getStrength
声明于unicode/ucol.h
U_CAPIUCollationStrength U_EXPORT2 ucol_getStrength( const UCollator *coll )
获取 UCollator 中使用的排序强度。
强度影响字符串的比较方式。参见:ucol_setStrength
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
排序强度;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/未定义,则结果大小为零。
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
合并排序键的长度,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
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向 UCollator 的指针,如果发生错误则为 0。
|
ucol_openAvailableLocales
声明于unicode/ucol.h
U_CAPIUEnumeration *U_EXPORT2 ucol_openAvailableLocales( UErrorCode *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
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
指向 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
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
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
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
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
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
ucol_setStrength
声明于unicode/ucol.h
U_CAPI void U_EXPORT2 ucol_setStrength( UCollator *coll, UCollationStrength strength )
设置 UCollator 中使用的排序强度。
强度影响字符串的比较方式。参见:ucol_getStrength
详情 | |||||
---|---|---|---|---|---|
参数 |
|
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
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
比较字符串的结果;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
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
比较字符串的结果;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* 指针都无效。
详情 | |||
---|---|---|---|
参数 |
|
uenum_count
名称的长度。U_CAPI int32_t U_EXPORT2 uenum_count( UEnumeration *en, UErrorCode *status )
返回迭代器遍历的元素数量。
如果迭代器与其服务不同步,则 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)。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
指向字符串的指针。字符串将以零终止。返回的指针由本迭代器拥有,调用方不得删除。该指针在下次调用任何 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 |
|
||||||
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 |
|
||||||
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 列表。
这会与服务重新建立同步并将迭代器重置到第一个元素开始。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
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 终止。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
指向字符串的指针。字符串将以零终止。返回的指针由本迭代器拥有,调用方不得删除。该指针在下次调用任何 uenum_... 方法之前有效,包括 uenum_next() 或 uenum_unext()。遍历完所有字符串后,返回 NULL。
|
uldn_getContext
声明于unicode/uldnames.h
U_CAPIUDisplayContext U_EXPORT2 uldn_getContext( const ULocaleDisplayNames *ldn, UDisplayContextType type, UErrorCode *pErrorCode )
返回指定 UDisplayContextType 的 UDisplayContext 值。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
指定类型的 UDisplayContextValue。
|
uldn_getDialectHandling
声明于unicode/uldnames.h
U_CAPIUDialectHandling U_EXPORT2 uldn_getDialectHandling( const ULocaleDisplayNames *ldn )
返回显示名称中使用的方言处理方式。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
方言处理枚举
|
uldn_getLocale
声明于unicode/uldnames.h
U_CAPI const char *U_EXPORT2 uldn_getLocale( const ULocaleDisplayNames *ldn )
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 )
返回提供的区域设置关键字的显示名称。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
显示名称所需的实际缓冲区大小。如果大于 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 )
返回提供的值的显示名称(与提供的键一起使用)。
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
显示名称所需的实际缓冲区大小。如果大于 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 )
返回提供的语言代码的显示名称。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
显示名称所需的实际缓冲区大小。如果大于 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 )
返回提供的区域设置的显示名称。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
显示名称所需的实际缓冲区大小。如果大于 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。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
参数 |
|
||||
返回值 |
ULocaleDisplayNames 实例
|
uldn_openForContext
声明于unicode/uldnames.h
U_CAPIULocaleDisplayNames *U_EXPORT2 uldn_openForContext( const char *locale, UDisplayContext *contexts, int32_t length, UErrorCode *pErrorCode )
返回一个 LocaleDisplayNames 实例,该实例使用提供的 UDisplayContext 设置返回针对提供的区域设置格式化的名称。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
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 )
返回提供的地区代码的显示名称。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
显示名称所需的实际缓冲区大小。如果大于 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 )
返回提供的脚本代码的显示名称。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
显示名称所需的实际缓冲区大小。如果大于 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 )
返回提供的脚本的显示名称。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
显示名称所需的实际缓冲区大小。如果大于 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 )
返回提供的变体的显示名称。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
显示名称所需的实际缓冲区大小。如果大于 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 的一个精简包装。
详情 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||
返回值 |
区域设置所需的长度。
|
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"
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
最大化区域设置所需的实际缓冲器大小。如果大于 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 格式。它不会以任何方式映射别名。请参阅此头文件的顶部。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
完整名称所需的实际缓冲器大小。如果大于 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',传统标签会在存在规范替换时转换为规范替换。
请注意,少数传统标签没有现代替换;这些将使用第一段中描述的回退进行转换,因此可能会丢失一些信息。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
区域设置 ID 的长度。
|
uloc_getAvailable
在unicode/uloc.h
中声明
U_CAPI const char *U_EXPORT2 uloc_getAvailable( int32_t n )
从可用区域设置列表中获取指定的区域设置。
此方法对应于使用 ULOC_AVAILABLE_DEFAULT 类型参数调用的 uloc_openAvailableByType。
返回值为区域设置名称数组中某项的指针。此数组及其包含的指针都由 ICU 拥有,调用者不应删除或写入。区域设置名称以空指针终止。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
所有可用区域设置的指定区域设置名称
|
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 支持预检。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
完整名称所需的实际缓冲器大小。如果大于 nameCapacity,返回的完整名称将被截断。
|
uloc_getCharacterOrientation
在unicode/uloc.h
中声明
U_CAPIULayoutType U_EXPORT2 uloc_getCharacterOrientation( const char *localeId, UErrorCode *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/语言标签是否格式良好。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
国家/地区代码所需的实际缓冲器大小。如果大于 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。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
可显示国家/地区代码所需的实际缓冲器大小。如果大于 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
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
可显示变体代码所需的实际缓冲器大小。
|
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 的显示字符串。
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
可显示变体代码所需的实际缓冲器大小。
|
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 )
获取适合显示的指定区域设置的语言名称。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
可显示语言代码所需的实际缓冲器大小。如果大于 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 )
获取适合显示的指定区域设置的完整名称。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
可显示名称所需的实际缓冲器大小。如果大于 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 )
获取适合显示的指定区域设置的脚本名称。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
可显示脚本代码所需的实际缓冲器大小。如果大于 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 )
获取适合显示的指定区域设置的变体名称。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
可显示变体代码所需的实际缓冲器大小。如果大于 variantCapacity,返回的可显示变体代码将被截断。
|
uloc_getISO3Country
在unicode/uloc.h
中声明
U_CAPI const char *U_EXPORT2 uloc_getISO3Country( const char *localeID )
获取指定区域设置的 ISO 国家/地区代码。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
localeID 的 ISO 国家/地区代码 country
|
uloc_getISO3Language
在unicode/uloc.h
中声明
U_CAPI const char *U_EXPORT2 uloc_getISO3Language( const char *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 )
获取关键字的值。
区域设置名称无需规范化。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
关键字值的长度
|
uloc_getLanguage
在unicode/uloc.h
中声明
U_CAPI int32_t U_EXPORT2 uloc_getLanguage( const char *localeID, char *language, int32_t languageCapacity, UErrorCode *err )
获取指定区域设置的语言代码。
此函数可能针对某些类型的输入返回失败错误代码,但不会完全检查区域设置 ID/语言标签是否格式良好。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
语言代码所需的实际缓冲器大小。如果大于 languageCapacity,返回的语言代码将被截断。
|
uloc_getLineOrientation
在unicode/uloc.h
中声明
U_CAPIULayoutType U_EXPORT2 uloc_getLineOrientation( const char *localeId, UErrorCode *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 支持预检。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
完整名称所需的实际缓冲器大小。如果大于 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/语言标签是否格式良好。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
脚本代码所需的实际缓冲器大小。如果大于 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/语言标签是否格式良好。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
变体代码所需的实际缓冲器大小。如果大于 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。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果区域设置的脚本是右到左书写,则返回 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”。)
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
最小化区域设置所需的实际缓冲器大小。如果大于 minimizedLocaleIDCapacity,返回的 ID 将被截断。出错时,返回值为 -1。
|
uloc_openKeywords
在unicode/uloc.h
中声明
U_CAPIUEnumeration *U_EXPORT2 uloc_openKeywords( const char *localeID, UErrorCode *status )
获取指定区域设置的关键字枚举。
客户端必须使用 uenum_close 函数释放枚举。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
关键字的枚举,如果没有关键字则为 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
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
缓冲器所需的长度
|
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。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
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
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
格式正确的传统键,如果指定的关键字无法映射到格式正确的传统键,则为 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
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
格式正确的传统类型,如果指定的关键字值无法映射到格式正确的传统类型,则为 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
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
格式正确的 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
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
格式正确的 BCP47 Unicode 区域设置扩展类型,如果区域设置关键字值无法映射到格式正确的 BCP 47 Unicode 区域设置扩展类型,则为 NULL。
|
ulocdata_getCLDRVersion
如果枚举应继续,则为 true,停止则为 false。U_CAPI void U_EXPORT2 ulocdata_getCLDRVersion( UVersionInfo versionArray, UErrorCode *status )
返回库当前使用的 CLDR 版本。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
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 )
将第二个字符串附加到第一个字符串(在边界处合并),并返回第一个字符串的长度。
如果两个字符串都已规范化,则结果会规范化。第一个和第二个字符串必须是不同的缓冲器。
详情 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||
返回值 |
first
|
unorm2_close
声明于unicode/unorm2.h
U_CAPI void U_EXPORT2 unorm2_close( UNormalizer2 *norm2 )
关闭从 unorm2_openFiltered() 获取的 UNormalizer2 实例。
不要关闭 unorm2_getInstance() 返回的实例!
详情 | |||
---|---|---|---|
参数 |
|
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 的模式无关。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
如果存在,则为非负的合成码位;否则为负值。
|
unorm2_getCombiningClass
声明于unicode/unorm2.h
U_CAPI uint8_t U_EXPORT2 unorm2_getCombiningClass( const UNormalizer2 *norm2, UChar32 c )
获取 c 的组合类。
默认实现返回 0,但所有标准实现都返回 Unicode Canonical_Combining_Class 值。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
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 的模式无关。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
如果 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) 相同。返回一个不可修改的单例实例。请勿删除它。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果成功,则返回请求的 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) 相同。返回一个不可修改的单例实例。请勿删除它。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果成功,则返回请求的 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) 相同。返回一个不可修改的单例实例。请勿删除它。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果成功,则返回请求的 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) 相同。返回一个不可修改的单例实例。请勿删除它。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果成功,则返回请求的 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) 相同。返回一个不可修改的单例实例。请勿删除它。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果成功,则返回请求的 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 的模式无关。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
如果 c 存在原始分解,则为非负长度;否则为负值
|
unorm2_hasBoundaryAfter
声明于unicode/unorm2.h
U_CAPIUBool U_EXPORT2 unorm2_hasBoundaryAfter( const UNormalizer2 *norm2, UChar32 c )
测试该字符在其后是否总有规范化边界,无论上下文如何。
详情参见 Normalizer2 基类文档。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
如果 c 在其后有规范化边界,则返回 true
|
unorm2_hasBoundaryBefore
声明于unicode/unorm2.h
U_CAPIUBool U_EXPORT2 unorm2_hasBoundaryBefore( const UNormalizer2 *norm2, UChar32 c )
测试该字符在其前是否总有规范化边界,无论上下文如何。
详情参见 Normalizer2 基类文档。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
如果 c 在其前有规范化边界,则返回 true
|
unorm2_isInert
声明于unicode/unorm2.h
U_CAPIUBool U_EXPORT2 unorm2_isInert( const UNormalizer2 *norm2, UChar32 c )
测试该字符是否规范化惰性。
详情参见 Normalizer2 基类文档。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
如果 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”以提供确定性结果,代价是在这些情况下进行更多工作。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
如果 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 )
将源字符串的规范化形式写入目标字符串(替换其内容),并返回目标字符串的长度。
源字符串和目标字符串必须是不同的缓冲器。
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
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 )
将第二个字符串的规范化形式附加到第一个字符串(在边界处合并),并返回第一个字符串的长度。
如果第一个字符串已规范化,则结果会规范化。第一个和第二个字符串必须是不同的缓冲器。
详情 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||
返回值 |
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”前缀。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
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()。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
“yes”跨度结束索引
|
uscript_breaksBetweenLetters
声明于unicode/uscript.h
U_CAPIUBool U_EXPORT2 uscript_breaksBetweenLetters( UScriptCode script )
如果脚本允许字母之间换行(不包括连字符),则返回 true。
这种脚本通常需要基于字典的换行。例如,Hani 和 Thai。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果脚本允许在字母之间换行,则返回 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)。这会执行快速查找,无需访问区域设置数据。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
在传入的缓冲器中填充的脚本代码数量
|
uscript_getName
声明于unicode/uscript.h
U_CAPI const char *U_EXPORT2 uscript_getName( UScriptCode scriptCode )
返回完整的 Unicode 脚本名称(如果存在)。
否则返回 4 字母的 ISO 15924 脚本代码。给定 USCRIPT_MALAYALAM 时返回“Malayam”。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
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 )
写入脚本示例字符字符串。
此字符串通常由一个码位组成,但可能更长。如果脚本未编码,则字符串为空。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
字符串长度,即使出现 U_BUFFER_OVERFLOW_ERROR
|
uscript_getScript
声明于unicode/uscript.h
U_CAPIUScriptCode U_EXPORT2 uscript_getScript( UChar32 codepoint, UErrorCode *err )
获取与给定码点关联的脚本代码。
给定 0x0D02 时返回 USCRIPT_MALAYALAM
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
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 缓冲器处理行为。)
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
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”。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
脚本简称(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
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
脚本用途
|
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/。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
如果 sc 在 Script_Extensions(c) 中,则返回 true
|
uscript_isCased
声明于unicode/uscript.h
U_CAPIUBool U_EXPORT2 uscript_isCased( UScriptCode script )
如果在现代(或最近的)脚本使用中区分大小写是习惯性的,则返回 true。
例如,Latn 和 Cyrl。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果脚本区分大小写,则返回 true
|
uscript_isRightToLeft
声明于unicode/uscript.h
U_CAPIUBool U_EXPORT2 uscript_isRightToLeft( UScriptCode script )
如果脚本是从右到左书写,则返回 true。
例如,Arab 和 Hebr。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果脚本是右到左书写,则返回 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。)
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指定索引处的码位。
|
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 及其克隆可以安全地由单独的线程并发访问。浅层克隆仅适用于读取访问,深层克隆适用于读取和写入访问。文本提供程序有责任确保满足此线程安全约束。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
新创建的克隆,如果克隆操作失败则为 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。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果 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)。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
当前迭代器位置的 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。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
如果两个 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。
迭代索引留在最后一个提取字符后面的位置。
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
要提取数据中的 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) 索引相同。返回的位置将始终对齐到码位边界。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
当前索引位置,以文本提供程序的本地单位表示。
|
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() 返回的字符的本地索引。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
当前索引位置前一个字符的本地索引,如果当前位置在文本开头,则为零。
|
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 之间(包含两者)。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
如果在保持在 [0 - 文本长度] 范围内的情况下,位置可以移动指定的数量,则返回 true。
|
utext_nativeLength
这只能通过调用者提供的 UReplaceableFunctor 结构进行操作。与 C++ 类 Replaceable 相关。目前仅用于 Transliterator C API,参见 utrans.h。U_CAPI int64_t U_EXPORT2 utext_nativeLength( UText *ut )
获取文本长度。
根据底层文本表示的特性,这可能很耗时。另请参阅:utext_isLengthExpensive()
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
文本的长度,以本地单位表示。
|
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
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
迭代位置的 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();
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
在 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。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
指向 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 实现。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
指向 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
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
前一个 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 )
设置迭代索引,并返回初始索引指定位置之前的码点。
将迭代位置留在返回码位的起始处。
此函数是开始向后迭代最有效和便捷的方式。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
在初始索引处的码位之前的一个码位,如果超出边界则为 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、任意代码页),并且不容易得知。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
utrans_clone
声明于unicode/utrans.h
U_CAPIUTransliterator *U_EXPORT2 utrans_clone( const UTransliterator *trans, UErrorCode *status )
创建转写器的副本。
从此函数获得的任何非 NULL 结果都应稍后使用 utrans_close() 关闭。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
一个音译器指针,可以传递给其他 utrans_xxx() 函数,如果克隆调用失败则为 NULL。
|
utrans_openIDs
声明于unicode/utrans.h
U_CAPIUEnumeration *U_EXPORT2 utrans_openIDs( UErrorCode *pErrorCode )
返回可用转写器的 UEnumeration。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
可用音译器的 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 的反向音译器的指针,如果 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() 关闭。
详情 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||
返回值 |
一个音译器指针,可以传递给其他 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
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
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 以重新创建此转写器的规则字符串。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
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 字符串。
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
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.cursor
和 index.limit
之间的字符。index.cursor
之前的字符不会更改。
返回时,index
中的值将更新。index.start
将前进到此方法未来调用将读取的第一个字符。index.cursor
和 index.limit
将被调整以界定此方法未来调用可能更改的文本范围。
此方法的典型用法是首先进行初始调用,将 index.start
和 index.limit
设置为指示要音译的 text
部分,并设置 index.cursor == index.start
。之后,可以在未来的调用中无需修改地使用 index
,前提是所有对 text
的更改都通过此方法进行。
此方法假设未来可能会调用以将新文本插入到缓冲器中。因此,它只执行无歧义的音译。在此方法最后一次调用后,可能存在未音译的文本,正在等待更多输入来解决歧义。为了执行这些待处理的音译,客户端在此方法最后一次调用后应调用 utrans_trans(),将 start 设置为 index.start,将 limit 设置为 index.end。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
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
详情 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
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。
详情 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|