Как я могу обрабатывать 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>
потому что он не знает о двухбайтовых символах.
Было бы также полезно знать, как это делается (например, обработка utf8 в командной строке) на Python.