gpt4 book ai didi

perl - Encode::encode 是否修改/删除原始字符串?

转载 作者:行者123 更新时间:2023-12-01 02:07:28 30 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Why does encode delete the argument?

(1 个回答)


6年前关闭。




Encode::encode 的文档说:

encode

$octets = encode(ENCODING, STRING[, CHECK]) Encodes the scalar value STRING from Perl's internal form into ENCODING and returns a sequence of octets.



这是一个测试脚本:
use feature qw(say);
use strict;
use warnings;
use utf8;
use open qw( :std :utf8 );

use Encode qw(encode);

my $str = 'æ';
say "str = '$str'";
my $str2 = encode('UTF-8', $str, Encode::FB_CROAK);
say "str = '$str'";

输出是:
str = 'æ'
str = ''

为什么是 $str通话后删除 encode ?这是意料之中的吗?

最佳答案

“如果 Encode::LEAVE_SRC 位未设置但 CHECK 已设置,则 encode() 或 decode() 的源字符串将被原地覆盖。如果您对此不感兴趣,则将其与位掩码。”

引自 Encode文档。

关于perl - Encode::encode 是否修改/删除原始字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31369288/

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