最近有朋友使用Erlang遇到一个编码问题。Erlang里面直接把汉字弄成串是这样的:

24> A = "汉字".
[27721,23383]

但是有时候汉字会出现这种utf8格式的:

[228,184,173,230,150,135]

有时候需要把utf8的ascii码转成第一种,这就需要下面的方式:

%% ASCII码转为Erlang中正常的中文编码
asc_to_cn(Data) when is_list(Data) ->             
    TData = list_to_bitstring(Data),
    [Res] = io_lib:format("~ts",[TData]),
    Res.

或者是下面这种方式:

{ok, Res} = asn1rt:utf8_binary_to_list(list_to_binary(Data))

参考资料:http://www.cnblogs.com/ribavnu/p/3744022.html

相关文章:

  • 2021-09-02
  • 2021-12-15
  • 2022-12-23
  • 2022-12-23
  • 2022-02-14
  • 2021-08-27
  • 2021-12-14
猜你喜欢
  • 2022-12-23
  • 2021-06-16
  • 2022-12-23
  • 2021-07-30
  • 2021-08-30
  • 2022-12-23
相关资源
相似解决方案