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
之後的純量值。
u
為 Uchar.max
則引發 Invalid_argument
。val pred : t -> t
pred u
是 Unicode 純量值集合中,u
之前的純量值。
u
為 Uchar.min
則引發 Invalid_argument
。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 字元。
i
不滿足 Uchar.is_valid
則引發 Invalid_argument
。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 字元。
u
不滿足 Uchar.is_char
則引發 Invalid_argument
。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
若 utf_decode_is_valid d
為 true
則為 d
解碼的 Unicode 字元,否則為 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
是將 u
以 UTF-8 編碼所需的位元組數。
val utf_16_byte_length : t -> int
utf_16_byte_length u
是將 u
以 UTF-16 編碼所需的位元組數。