UTF8 感知 printf?

Tob*_*bia 2 printf ocaml utf-8 ocaml-core

AFAIK,OCaml 中的字符串只是简单的字节序列。他们没有编码的概念。

\n\n

这对于大多数用途来说都很好。然而,标准库的某些部分对以单字节字符集编码的字符串做出了假设,例如以下的对齐功能printf

\n\n
# printf "[%4s]\\n[%4s]\\n" "a" "\xc3\xa0";;\n[   a]\n[  \xc3\xa0]\n- : unit = ()\n
Run Code Online (Sandbox Code Playgroud)\n\n

是否有升级的printf地方可以正确处理这个问题,例如通过查看 LANG 和 LC_* 来猜测终端上使用的编码?(我正在使用核心)

\n

Dan*_*zli 5

如果您需要打印 UTF-8 数据,您可以使用漂亮的Uuseg打印机。