erlang - Erlang 中的控制字符转义

标签 erlang control-characters

在 Erlang 中转义控制字符的正确方法是什么?

我愿意:

[EscapedString] = io_lib:format("~p", [Str]).

它的工作方式符合我对 \t\n 字符的预期:

io_lib:format("~p", ["str\ning"]).

["\"str\\ning\""]

但是对于\a:

io_lib:format("~p", ["str\aing"]).

["\"straing\""]

io_lib:format("~p", ["a\x07"]).

[[91,["97",44,"7"],93]]

我需要获取 "\"str\\aing\"" 字符串,并且在文件中它应该类似于 "str\aing"

感谢您的帮助:)

最佳答案

'a' 不是控制字符,因此“\a”产生与“a”相同的字符串。如果您确实希望结果中包含反斜杠,则需要转义反斜杠本身:"str\\aing"

如果您希望结果始终是平面字符串而不是嵌套的 io-list(如上一个示例中所示),请使用 lists:flatten(io_lib:format(...))

关于erlang - Erlang 中的控制字符转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49668104/

相关文章:

newline - 什么是回车、换行和换页?

erlang - erlang 中是否有生成术语或字符串哈希码的库或函数?

erlang - Elixir-Erlang : is there a "reasonable" limit of children handled by a supervisor?

Erlang 透析器 创造的乐趣没有本地返回

erlang - Erlang 中的模式 [_|_] 有什么具体含义吗?

Erlang 冒泡排序

printing - 标准ML打印控制字符

javascript - 看不见的字符不允许我解析 xml

Java:检测不适合 JSON 的控制字符

node.js - 使用 chalk NPM 模块的终端样式(控制字符)