Как обрабатывать utf8 в командной строке (используя Perl или Python)?
Как я могу обработать utf8, используя Perl (или Python) в командной строке?
Например, я пытаюсь разделить символы в каждом слове. Это очень просто для текста не-utf8, например:
$ echo "abc def" | perl -ne 'my @letters = m/(.)/g; print "@letters\n"' | less
a b c d e f
Но с utf8 это не работает, конечно:
$ echo "одобрение за" | perl -ne 'my @letters = m/(.)/g; print "@letters\n"' | less
<D0> <BE> <D0> <B4> <D0> <BE> <D0> <B1> <D1> <80> <D0> <B5> <D0> <BD> <D0> <B8> <D0> <B5> <D0> <B7> <D0> <B0>
потому что он не знает о 2-байтовых символах.
Также было бы полезно узнать, как это делается (то есть обработка utf8 в командной строке) в Python.