Perl 内置函数 chr/ord 示例
Perl 的内置函数 chr/ord 可用来在 Unicode code point(为一数字)和 character 之间转换,下面是使用它们的两个简单示例。
#!/usr/bin/perl
# t0.pl
use strict;
use warnings;
binmode (STDIN, ":utf8");
binmode (STDOUT, ":utf8");
while(<>){
chomp;
my $c = ord;
printf "$_ = 0x%x\n", $c;
}
|
#!/usr/bin/perl
# t1.pl
use strict;
use warnings;
binmode (STDOUT, ":utf8");
while(<>){
chomp;
my $c = chr(hex);
print "$_ = $c\n";
}
|
注意在 t1.pl 中,由于假设读入的数字为 16进制,因此需要用 hex 转换一下。
例子
$ cat t0 ☺ $ cat t1 0x263a $ ./t0.pl < t0 ☺ = 0x263a $ ./t1.pl < t1 0x263a = ☺
|
BTW,虽然这种小例子程序没有必要用 use strict; use warnings; 但应养成用它们的习惯,尤其是借助一些脚本,例如
建立各种脚本的脚本
阅读(2542) | 评论(0) | 转发(0) |