模組 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 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 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 是將 u 以 UTF-8 編碼所需的位元組數。

val utf_16_byte_length : t -> int

utf_16_byte_length u 是將 u 以 UTF-16 編碼所需的位元組數。