Обработка .Net UTF-8 строк в Erlang - PullRequest
0 голосов
/ 24 апреля 2009

Я немного играю с эрлангом и распределенным дБ Mnesia.

Одной из первых проблем, с которыми я сталкиваюсь, является несовместимость между строками 'int list' строк erlang и .Net UTF-8.

Есть ли хорошая библиотека для конвертации?

Спасибо

Ответы [ 2 ]

3 голосов
/ 24 апреля 2009

В новой версии Erlang R13B улучшена поддержка юникода.

Новый модуль Unicode задокументирован здесь , а реализованная поддержка Unicode описана в EEP 10 ( Предложение по улучшению Erlang 10 ).

1 голос
/ 24 апреля 2009

Насколько я видел, erlang использует UTF32, поэтому использование System.Text.Encoding.UTF32 может помочь в получении целых чисел для списка, тогда вам нужно создать список из этих , Не проверено, хотя.

Может помочь следующий фрагмент (он создает массив Unicode int s, который должен соответствовать ожидаемым для списка 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;
}
...