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("测试").