Ign*_*nas 3 printing string unicode erlang
我有一个由某些函数生成的元组列表,看起来像:
[{"a","?"},
{"?","a"},
{"a","o"},
{"o","e"}]
但是当我打印它时,我在终端中看到了:
[{"a",[261]},
{[261],"a"},
{"a","o"},
{"o","e"}]
我通常用以下命令打印它:
io:format("~p~n", [functionThatGeneratesListOfTuples()]),
到目前为止,我发现~ts在打印Unicode字符串时需要使用它,因此我尝试了以下操作:
Pairs = functionThatGeneratesListOfTuples(),
PairsStr = io_lib:format("~p", [Pairs]),
io:format("~ts~n", [PairsStr]),
是否有可能实现适当地表示Unicode字符串?
用于检测列表-的-整数作为字符串默认情况下只承认Latin-1字符的启发,所以[65,66,67]打印为"ABC",但[665,666,667]打印为"[665,666,667]"即使你使用~tp。您必须启动Erlang erl +pc unicode才能使其接受255以上的可打印unicode代码点。在该模式下,与一起[665,666,667]打印(但不与一起打印)。"???"~tp~p
有关更多信息,请参见http://erlang.org/doc/man/io.html#printable_range-0,以及文档的最新改进(将包含在OTP 21中):https : //github.com/erlang / otp / pull / 1737 /文件
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |