在Erlang中处理.Net UTF-8字符串

时间:2009-04-24 13:21:32

标签: .net utf-8 string erlang

我正在玩erlang和分布式db Mnesia。

我面临的第一个问题之一是erlang和.Net UTF-8字符串的'int list'字符串之间的不兼容性。

有没有好转换库?

由于

2 个答案:

答案 0 :(得分:3)

Erlang的新R13B版本更好地支持unicode。

新的Unicode模块记录为here,并且在EEP 10(Erlang Enhancement Proposal 10)中描述了实现的Unicode支持。

答案 1 :(得分:1)

据我所见,erlang使用UTF32,因此使用System.Text.Encoding.UTF32可能会获取列表的整数,然后您需要从这些列表中创建列表。虽然没经过测试。

以下代码段可能会有所帮助(它会创建一个unicode int数组,它应该与erlang列表的预期匹配):

public static int[] GetIntsForString(string source) {
    byte[] data = System.Text.Encoding.UTF32.GetBytes(source);
    int[] result = new int[source.Length];
    for (int i = 0; i < source.Length; i++) {
        result[i] = BitConverter.ToInt32(data, i*4);
    }
    return result;
}