[Erlang]Как нынче принято хранить строки внутри приложения?
От: Mr.Cat  
Дата: 06.07.09 23:45
Оценка:
Обратил внимание, что модуль re не может нормально работать со строками, которые представлены списками символов (которые, например, получаются, если просто в консоли закавычить русские буквы) и прекрасно работает со списками utf8-байт.
Т.е. для одного и того же регекспа (он содержит только латиницу) получаю:
17> re:run("abcd", Re).
nomatch
18> re:run("абвг", Re).
** exception error: bad argument
     in function  re:run/2
        called as re:run([1072,1073,1074,1075],
                         {re_pattern,1,0,
                                     <<69,82,67,80,97,0,0,0,0,2,0,0,7,0,0,0,
                                       1,0,0,0,34,0,34,...>>})

Т.е., получается, для внутреннего представления строк стоит юзать utf-8 бинари, либо списки utf8-байт?

Если имеет значение:
Erlang R13B (erts-5.7.1) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.