模組 Stdlib.Uchar

module Uchar: Uchar

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 i 為將 i 視為 Unicode 字元。

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 字元。

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 dutf_decode_is_valid dtrue,則為 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 所需的位元組數量。