Erlang中文手册(Erldoc.com)  »  asn1rt  »  utf8_list_to_binary/1
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

asn1rt:utf8_list_to_binary/1

把一个 unicode 列表转为一个 utf8 二进制数据

用法:

utf8_list_to_binary(UnicodeList) -> {ok,UTF8Binary} | {error,Reason}

内部实现:

%% utf8_list_to_binary/1 transforms a list of integers to a
%% binary. Each element in the input list has the unicode (integer)
%% value of an utf8 character. 
%% The return value is either {ok,Bin} or {error,Reason}. The
%% resulting binary is utf8 encoded.
utf8_list_to_binary(List) ->
    utf8_list_to_binary(List,[]).

utf8_list_to_binary([],Acc) when is_list(Acc) ->
    {ok,list_to_binary(lists:reverse(Acc))};
utf8_list_to_binary([],Acc) ->
    {error,{asn1,Acc}};
utf8_list_to_binary([H|T],Acc) ->
    case catch utf8_encode(H,Acc) of
	NewAcc when is_list(NewAcc) -> 
	    utf8_list_to_binary(T,NewAcc);
	Err -> Err
    end.

把一个整数形式的列表(列表里的每一个整数代表一个字符它对应的 unicode 值)转为一个 UTF8 编码的二进制数据。

asn1rt:utf8_list_to_binary("测试").
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9