[Moscow.pm] Тактика работы с utf8

Vladimir Timofeev vovkasm на gmail.com
Чт Ноя 22 02:34:25 PST 2012


2012/11/22 ksvs <ksvs1996 на ymail.com>:
> Привет.
> А какая тактика работы с utf8 более рациональна в Perl?
> 1. Все входящие сразу из октетов преобразуем в utf8, а на выходе обратно.
> 2. Работаем с октетами, и лишь где надо utf8 - преобразуем.
> Кажется вторая, но всякие json библиотеки сами делают преобразования в utf8.
> Или все таки первая?
IMHO, никакая из этих двух.
Есть данные, которые представляют "строки" (цепочки "символов"), они и
должны быть в Perl строками. Есть данные, которые представляют из себя
бинарные данные и семантика "строк" к ним вообще не применима, они и
должны быть бинарными данными в Perl.
Т.к. внешиний для Perl мир содержит только бинарные данные, то
требуется преобразование в строки и обратно. Преобразование это должно
происходить в максимально ранний момент времени binary->string и в
максимально поздний string->binary. В подавляющем большинстве случаев
это могут делать модули, общающиеся с внешним миром (например DBI). Но
иногда приходится и самому думать, к примеру, прежде чем
воспользоваться строкой из %ENV.

>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org



--
Vladimir Timofeev <vovkasm на gmail.com>


Подробная информация о списке рассылки Moscow-pm