module Uchar: Uchar
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
為從來源消耗 n
個元素進行解碼的 u
有效 UTF 解碼。n
必須為正數,且小於或等於 4
(此值不會由模組檢查)。
val utf_decode_invalid : int -> utf_decode
utf_decode_invalid n
為從來源消耗 n
個元素導致錯誤的無效 UTF 解碼。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
所需的位元組數量。