2
我有一个包含英文和俄文字符的字符串。我如何计算Perl中的字符数?如何计算Perl中UTF-8字符串中的字符数?
我有一个包含英文和俄文字符的字符串。我如何计算Perl中的字符数?如何计算Perl中UTF-8字符串中的字符数?
use utf8;
my $str='test ТЕСТ';
print length($str);
如果你从文件中读取字符串,你应该读得UTF-8
open my $fh,'<:utf8','filename.ext';
只需使用编码:
meAkemi:~$ perl -e 'use Encode; $_="é"; print length(Encode::decode_utf8($_)),"\n"'
1
'我的$海峡= 'Çirçös'; 打印长度($ str);'没有utf-8也会显示一些数字 – run
@run,但不一定是正确的。如果源是UTF-8,则需要使用'use utf8;'。如果源不是UTF-8,那么'$ str'只是一个字节串,'length'将返回字节数。 – ikegami
不错的选择,但有时需要'Encode'模块;) – gaussblurinc