<11>erlang中方便使用的模块和命令(2)

(1) 进程字典到底用不用,很多人推荐使用
http://mryufeng.iteye.com/blog/435642
需要注意的是,使用的时候要做好封装


(2) "192.168.0.188"== lists:flatten(io_lib:format("~p.~p.~p.~p",tuple_to_list({192,168,0,188}))).
### Erlang 中 `<<>>` 的语法用法Erlang 中,`<<>>` 表示二进制数据结构。此结构用于处理字节序列其他低级数据表示方式。下面详细介绍其基本概念及其应用。 #### 基本定义 创建一个简单的二进制可以通过指定一系列位域来完成: ```erlang Binary = <<1, 2, 3>>. ``` 这行代码生成了一个包含三个字节的二进制对象,其中每个数值代表单个字节[^4]。 #### 字符串转换为二进制 由于字符串本质上是一系列字符编码后的值组成的列表,因此也可以轻松地将其转化为二进制形式: ```erlang StringToBin = <<"Hello">>. ``` 这里 `"Hello"` 被解释成 UTF-8 编码下的相应字节数组。 #### 使用通配符提取部分信息 可以从现有二进制中抽取特定位置的数据片段: ```erlang {ok, Bin} = file:read_file("example.bin"), <<_:4/binary-unit:8, Part:8/binary-unit:8, _/binary>> = Bin, Part. ``` 上述例子展示了如何跳过前四个字节并读取接下来八个字节的内容作为新变量 `Part`。 #### 构建复杂二进制表达式 还可以通过组合不同类型的字段构建更复杂的二进制模式匹配或构造操作: ```erlang ComplexBin = <<16#FF:8, "ABCD"/utf8>>, % 十六进制数加上UTF-8编码字符串 <<A:8, B/binary>> = ComplexBin, io:fwrite("~w ~ts~n", [A, B]). ``` 这段程序先建立了一个含有十六进制值 FF ABCD 文本(按 UTF-8 编码)的一段二进制流;接着利用模式匹配分离出第一个字节以及剩余的部分,并打印出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值