perl unicode 字符转换

93 篇文章 ¥39.90 ¥99.00
该博客展示了如何使用Perl处理Unicode字符,包括将`u`转义序列转换为对应的Unicode字符,以及解决宽字符打印问题。通过示例代码解释了在不同场景下,如命令行参数和文件读取中,如何正确地处理和打印Unicode字符串,强调了`encode_utf8`函数的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<pre name="code" class="html">[root@dr-mysql01 ~]# cat a1.pl 
my $str="$ARGV[0]";
use Encode;  
use Encode::CN;  
use JSON;   
use URI::Escape;  
use LWP::Simple;  
$str =~ s/\\u([0-9a-fA-F]{4})/pack("U",,hex($1))/eg;    
print "$str";


[root@dr-mysql01 ~]# perl a1.pl "\u767b\u5f55\u6210\u529f"
Wide character in print at a1.pl line 8.
登录成功You have mail in /var/spool/mail/root


需要encode_utf8:
[root@dr-mysql01 ~]# cat a1.pl 
my $str="$ARGV[0]";
use Encode;  
use Encode::CN;  
use JSON;   
use URI::Escape;  
use LWP::Simple;  
$str =~ s/\\u([0-9a-fA-F]{4})/pack("U",,hex($1))/eg;    
print encode_utf8($str);

[root@dr-mysql01 ~]# perl a1.pl "\u6e29\u91d1\u6240"
温金所[root@dr-mysql01 ~]# 


[root@dr-mysql01 ~]# cat hg.pl   
use Encode;  
use Encode::CN;  
u
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值