模块 Uchar

module Uchar: sig .. end

Unicode 字符。


type t 

Unicode 字符的类型。

此类型的值表示 Unicode 标量值,它是在范围 0x0000...0xD7FF0xE000...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 之后的值。

val pred : t -> t

pred u 是 Unicode 标量值集中在 u 之前的值。

val is_valid : int -> bool

is_valid n 当且仅当 n 是 Unicode 标量值(即在范围 0x0000...0xD7FF0xE000...0x10FFFF 内)时为 true

val of_int : int -> t

of_int ii 作为 Unicode 字符。

val to_int : t -> int

to_int uu 作为整数。

val is_char : t -> bool

is_char u 当且仅当 u 是 latin1 OCaml 字符时为 true

val of_char : char -> t

of_char cc 作为 Unicode 字符。

val to_char : t -> char

to_char uu 作为 OCaml latin1 字符。

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 关联。

UTF 编解码工具

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 dd 解码的 Unicode 字符,如果 utf_decode_is_valid dtrue,否则为 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 uu 的有效 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 所需的字节数。