相关疑难解决方法(0)

如何在命令行上处理utf8(使用Perl或Python)?

如何在命令行上使用Perl(或Python)处理utf8?

例如,我试图将每个单词中的字符分开.对于非utf8文本,这非常容易,例如:

$ echo "abc def" | perl -ne 'my @letters = m/(.)/g; print "@letters\n"' | less
a b c   d e f
Run Code Online (Sandbox Code Playgroud)

但是使用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>
Run Code Online (Sandbox Code Playgroud)

因为它不知道2字节字符.

知道如何在Python中完成这个(即utf8的命令行处理)也是一件好事.

python perl utf-8

15
推荐指数
2
解决办法
3383
查看次数

标签 统计

perl ×1

python ×1

utf-8 ×1