|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Konstantin Tokar 2:5020/400 17 May 2000 12:17:27 To : All Subject : Re: быстрая перекодировка текста -------------------------------------------------------------------------------- Oleg Kravc wrote: > > Скажем cp886 -> koi, таблица перекодировки хранится в хэше, > файл читается построчно, как сделать, что бы это работало быстро? Таблицу записать в $table_from - $table_to и делать tr/$table_from/$table_to/ для однобайтовых. Unicod наверно в две стадии, хотя, мне кажется, для скорости проще написать это все на С и сделать дополнительный модуль. > Я пока родил такое > > while (defined($line = $input->getline())) { > $line =~ s/([\x80-\xFF])/$xtable{$1}/g; > $output->print($line); > } > > можно ли как-то ускорить это дело? В масштабах всего файла? > Есть один неприятный момент - может понадобиться перекодировка > в нечто вроде unicode, те байт в два, или наоборот. > > -- > O.K. [Team Бассейн "Москва"] [CandH] [NOL] -- Konstantin Tokar (http://www.mpei.ac.ru/tokar) --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1277054d6d2ff.html, оценка из 5, голосов 10
|