You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Erlang中将二进制元组列表转换为字符串形式?

把Erlang二进制元组列表转换为对应字符串形式

这事儿在Erlang里其实挺简单的,直接用标准库的格式化工具就能搞定,完全不需要自己手动拼接字符串。

这里给你一个直接可用的实现:

-module(tuple_to_string).
-export([convert/0]).

convert() ->
    % 你的原始数据结构
    Data = [{<<"Location">>, [{<<"lat">>, 123456}, {<<"lng">>, 123456}]}],
    % 用~p格式化语法生成对应字符串,再扁平化列表
    FormattedString = lists:flatten(io_lib:format("~p", [Data])),
    % 输出验证结果
    io:format("转换结果: ~s~n", [FormattedString]),
    FormattedString.

关键细节解释:

  • io_lib:format("~p", [Data]):~p是Erlang的漂亮打印格式化符号,它会严格按照Erlang的语法规则输出数据结构,包括二进制值的<<>>表示,正好匹配你要的格式。这个函数返回的是一个深度嵌套的字符列表。
  • lists:flatten/1:把深度嵌套的字符列表转成扁平的字符列表(也就是Erlang里的字符串类型),方便后续使用或直接输出。

如果你需要的是二进制类型的字符串(而非字符列表),只需要再加一步转换:

BinaryResult = list_to_binary(FormattedString),

运行这个模块的convert/0函数,你会得到完全符合预期的结果:[{<<"Location">>,[{<<"lat">>,123456},{<<"lng">>,123456}]}]。

内容的提问来源于stack exchange,提问作者ankit savaliya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:47:01