Encode::encode
有different ways to handle malformed data。
对于像binmode STDOUT ":encoding( $encoding_out )"
这样的binmode是否也存在处理格式错误数据的可能性?
答案 0 :(得分:1)
是的,有$PerlIO::encoding::fallback
。您可以将所需的“check”参数分配给该变量。然后,当您将PerlIO层推送到文件句柄时,将保存该变量的当前值以用于该层失败行为。 E.g:
use PerlIO::encoding;
use Encode;
# set a value
$PerlIO::encoding::fallback = Encode::FB_WARN;
# apply a layer under that value
open my $fh, '<:encoding(UTF-8)', $some_file or die ...;
# $PerlIO::encoding::fallback can be changed now