module Uchar:sig
..end
Unicode 字符。
type
t
Unicode 字符的类型。
此类型的值表示 Unicode 标量值,它是在范围 0x0000
...0xD7FF
或 0xE000
...0x10FFFF
内的整数。
val min : t
min
为 U+0000。
val max : t
max
为 U+10FFFF。
val bom : t
bom
为 U+FEFF,即 字节顺序标记 (BOM) 字符。
val rep : t
rep
为 U+FFFD,即 替换 字符。
val succ : t -> t
succ u
是 Unicode 标量值集中在 u
之后的值。
Invalid_argument
,如果 u
等于 Uchar.max
。val pred : t -> t
pred u
是 Unicode 标量值集中在 u
之前的值。
Invalid_argument
,如果 u
等于 Uchar.min
。val is_valid : int -> bool
is_valid n
当且仅当 n
是 Unicode 标量值(即在范围 0x0000
...0xD7FF
或 0xE000
...0x10FFFF
内)时为 true
。
val of_int : int -> t
of_int i
是 i
作为 Unicode 字符。
Invalid_argument
,如果 i
不满足 Uchar.is_valid
。val to_int : t -> int
to_int u
是 u
作为整数。
val is_char : t -> bool
is_char u
当且仅当 u
是 latin1 OCaml 字符时为 true
。
val of_char : char -> t
of_char c
是 c
作为 Unicode 字符。
val to_char : t -> char
to_char u
是 u
作为 OCaml latin1 字符。
Invalid_argument
,如果 u
不满足 Uchar.is_char
。val equal : t -> t -> bool
equal u u'
等价于 u = u'
。
val compare : t -> t -> int
compare u u'
等价于 Stdlib.compare u u'
。
val hash : t -> int
hash u
将一个非负整数与 u
关联。
type
utf_decode
UTF 解码结果的类型。此类型的值表示 Unicode 变换格式解码尝试的结果。
val utf_decode_is_valid : utf_decode -> bool
utf_decode_is_valid d
当且仅当 d
包含有效解码时为 true
。
val utf_decode_uchar : utf_decode -> t
utf_decode_uchar d
是 d
解码的 Unicode 字符,如果 utf_decode_is_valid d
为 true
,否则为 Uchar.rep
。
val utf_decode_length : utf_decode -> int
utf_decode_length d
是解码 d
使用的源元素数量。此值始终为正,且小于或等于 4
。源元素的类型取决于实际解码器;对于标准库的解码器,此函数始终返回字节长度。
val utf_decode : int -> t -> utf_decode
utf_decode n u
是 u
的有效 UTF 解码,它从源中消耗了 n
个元素进行解码。 n
必须为正且小于或等于 4
(模块不会检查此条件)。
val utf_decode_invalid : int -> utf_decode
utf_decode_invalid n
是无效的 UTF 解码,它从源中消耗了 n
个元素导致错误。 n
必须为正且小于或等于 4
(模块不会检查此条件)。生成的解码使用 Uchar.rep
作为解码的 Unicode 字符。
val utf_8_byte_length : t -> int
utf_8_byte_length u
是使用 UTF-8 编码 u
所需的字节数。
val utf_16_byte_length : t -> int
utf_16_byte_length u
是使用 UTF-16 编码 u
所需的字节数。