A1="Paměť". [80,97,109,283,357] (“Pa-6ren">
gpt4 book ai didi

erlang - 如何在 Erlang shell 中输出 UTF-8?

转载 作者:行者123 更新时间:2023-12-04 16:54:19 25 4
gpt4 key购买 nike

考虑这个片段:

Eshell V5.9.1  (abort with ^G)
1> A="Pamet".
"Pamet"
2> A1="Paměť".
[80,97,109,283,357]

(“Paměť”在捷克语中是“内存”的意思。我选择它是因为它包含两个 Erlang 认为“不可打印”的字符。)IIRC Erlang 起源于瑞典,假设如果一个字符在拉丁语 1 中不存在,它是不可打印的。因此,即使我在现代 Linux 机器上运行 shell,其中一切都是 UTF-8,它输出一个整数列表而不是“Paměť”。

我的问题:如何将 UTF-8 字符串写入屏幕,使其显示为字符串,而不是整数列表?

最佳答案

在这里你会找到一些关于发生了什么以及如何去做的解释:http://www.erlang.org/doc/apps/stdlib/unicode_usage.html

基本上,您可以使用以下方法进行检查:

1> lists:keyfind(encoding, 1, io:getopts()).
{encoding, unicode}
2> io:format("~ts~n",["Paměť"]).
Paměť
ok
3>

关于erlang - 如何在 Erlang shell 中输出 UTF-8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11886730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com