为了说明二进制端口和普通端口的区别,我们用“双字节包头加数据”协议从外部进程向Erlang发送字符串"hello"。外部程序将输出如下字节序列:

    令端口发送二进制对象而非列表的好处在于,相对于长列表,构造和发送二进制数据的速度要快很多。

    term_to_binary(T) binary_to_term(Bin)
    term_to_binary/1相反。
    binary_to_list(Bin) binary_to_list(Bin,Start,Stop)
    将二进制对象从StartStop的部分转为整数列表。二进制对象的位置下标从1开始计算。
    list_to_binary(Charlist) split_binary(Bin,Pos)

    BinPos处切分为两个新的二进制对象。得到的是包含两个新二进制对象的元组。例如:

    1. 1> B = list_to_binary("0123456789").#Bin2> size(B).103> {B1,B2} = split_binary(B,3).{#Bin,#Bin}4> size(B1).35> size(B2).7
    concat_binary(ListOfBinaries)