支持UTF8的printf?

时间:2017-10-21 15:14:28

标签: utf-8 printf ocaml ocaml-core

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

这适用于大多数用途。但是,某些标准库假设有关字符串在单字节字符集中编码,例如printf的对齐功能:

# printf "[%4s]\n[%4s]\n" "a" "à";;
[   a]
[  à]
- : unit = ()

是否有正确处理此问题的升级版printf,例如通过查看LANG和LC_ *来猜测终端上使用的编码? (我正在使用Core)

1 个答案:

答案 0 :(得分:3)

如果您需要打印UTF-8数据,可以使用Uuseg的{​​{3}}。