加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – Encode :: encode修改/删除原始字符串吗?

发布时间:2020-12-16 06:15:56 所属栏目:大数据 来源:网络整理
导读:参见英文答案 Why does encode delete the argument?????????????????????????????????????1个 Encode::encode 的文件说: encode $octets = encode(ENCODING,STRING[,CHECK]) Encodes the scalar value STRING from Perl’s internal form into ENCODING an
参见英文答案 > Why does encode delete the argument?????????????????????????????????????1个
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 = ''

为什么在调用encode后擦除$str?这是预期的吗?

解决方法

“如果未设置Encode :: LEAVE_SRC位但设置了CHECK,则将覆盖要编码()或decode()的源字符串.如果您对此不感兴趣,则按位或者将其与位掩码“.

引自Encode文档.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读