我正在玩erlang和分布式db Mnesia。
我面临的第一个问题之一是erlang和.Net UTF-8字符串的'int list'字符串之间的不兼容性。
有没有好转换库?
由于
答案 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;
}