Perl多字节支持 我面对这个问题,由于多字节字符,当函数返回时字符串值会发生变化。请考虑下面的语句 print "charEncoding string val = " . $enc->($val) . "\n\n"; #prints charEncoding string val = 歡迎來到雅虎! my $encoded = $enc->($val); <---- $encoded is not same as $enc->($val). print "\n charEncodingo $encoded == $val " ; #prints charEncodingo æ¡è¿Žä¾†åˆ°é›…虎! == 歡迎來到雅虎! 打印“charEncoding string val=”$附件->($val)。“\n\n”; #打印字符编码字符串val=歡迎來到雅虎! my$encoded=$enc->($val);($val)。 打印“\n charEncodingo$encoded==$val”; #打印charEncodingoæèèè和Š142;ä¾å°é è! == 歡迎來到雅虎!
嗯。。。是 啊大多数函数(包括Perl多字节支持 我面对这个问题,由于多字节字符,当函数返回时字符串值会发生变化。请考虑下面的语句 print "charEncoding string val = " . $enc->($val) . "\n\n"; #prints charEncoding string val = 歡迎來到雅虎! my $encoded = $enc->($val); <---- $encoded is not same as $enc->($val). print "\n charEncodingo $encoded == $val " ; #prints charEncodingo æ¡è¿Žä¾†åˆ°é›…虎! == 歡迎來到雅虎! 打印“charEncoding string val=”$附件->($val)。“\n\n”; #打印字符编码字符串val=歡迎來到雅虎! my$encoded=$enc->($val);($val)。 打印“\n charEncodingo$encoded==$val”; #打印charEncodingoæèèè和Š142;ä¾å°é è! == 歡迎來到雅虎!,perl,multibyte,Perl,Multibyte,嗯。。。是 啊大多数函数(包括Encode::Encode_utf8)的目的是更改输入值。Encode::Encode_utf8的输入可能包含宽字符(其中ord($char)>255),但输出总是字节字符串(其中ord($char)什么是$enc?$val和$enc->($val)之间的区别是什么?这是Perl,以防我漏掉了这一点,$enc===Encode::Encode\u utf8Perl没有多字节的任何内容。它有字符。不要这样认为。我在这里谈论的是编码。请看一看问题陈述。我支持我所说的。
Encode::Encode_utf8
)的目的是更改输入值。Encode::Encode_utf8
的输入可能包含宽字符(其中ord($char)>255
),但输出总是字节字符串(其中ord($char)什么是$enc
?$val
和$enc->($val)之间的区别是什么
?这是Perl,以防我漏掉了这一点,$enc===Encode::Encode\u utf8Perl没有多字节的任何内容。它有字符。不要这样认为。我在这里谈论的是编码。请看一看问题陈述。我支持我所说的。Perl没有多字节的任何内容。它的字符串由抽象字符组成。
#prints charEncoding string val = 歡迎來 ...