OCaml 字符是否正好代表 8 位?

Flu*_*lux 3 ocaml char

Char库文档中,我看到 char 至少能够表示 ISO/IEC 8859-1 字符集,该字符集每个字符使用 8 位。OCaml 字符是否正好代表 8 位,不多也不少?这是在哪里记录的?

Jef*_*eld 6

该文件是这样说的:

字符值表示为 0 到 255 之间的 8 位整数。0 到 127 之间的字符代码按照 ASCII 标准进行解释。当前实现按照 ISO 8859-1 标准解释 128 到 255 之间的字符代码。

所以是的,一个 OCaml 字符恰好代表 8 位。

基值的文档位于:OCaml 手册,第 9.2 章。价值观

更新

可能值得注意的是,虽然charOCaml 中的值只能采用 0 到 255 之间的值,但在主线 OCaml 版本(来自 INRIA)中,值在内存中占用的实际空间charint. 在 32 位实现上,这将是 32 位,在 64 位实现上,这将是 64 位。因此(例如)achar array并不是一种节省空间的方式来存储多个chars。您可以使用stringbytes来获得 char 值的紧凑存储(每个 8 位)。

OCaml 值表示的文档位于:OCaml 手册,第 20.3 章,OCaml 数据类型的表示