gpt4 book ai didi

perl - 在哪些情况下编码/解码 utf8 会发出声音?

转载 作者:行者123 更新时间:2023-12-01 10:59:15 27 4
gpt4 key购买 nike

这个脚本给了我两倍的相同输出。是否存在无法在 utf8 encodedecode 这两个 say 之间生存的编码?

#!/usr/bin/env perl
use warnings;
use 5.16.1;
use Encode qw/encode decode/;

my $my_encoding = 'ISO-8859-7';
binmode STDOUT, ":encoding($my_encoding)";

my $var = "\N{GREEK SMALL LETTER TAU}";
$var .= "\N{GREEK SMALL LETTER OMEGA WITH TONOS}";
$var .= "\N{GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA}";

$var = encode( 'utf8', $var );
$var = decode( $my_encoding, $var );

say $var;

my $test = encode( 'utf8', $var, Encode::FB_CROAK );
$var = decode( 'utf8', $test, Encode::FB_CROAK );

say $var;

最佳答案

如果您尝试对目标编码字符集之外的内容进行编码,它就会出错。

utf8 是 Perl 用来存储 72 位字符的特定于 Perl 的编码。它类似于UTF-8,但又有不同。它支持 Perl 支持的所有字符,因此它永远不会发牢骚。

另一方面,如果您要使用 UTF-8,如果您尝试对非 Unicode 字符进行编码(例如 chr(0x200000) )。

另请参阅::encoding(UTF-8) vs :encoding(utf8) vs :utf8

关于perl - 在哪些情况下编码/解码 utf8 会发出声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12749971/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com