Chinaunix首页 | 论坛 | 博客
  • 博客访问: 311154
  • 博文数量: 48
  • 博客积分: 4510
  • 博客等级: 中校
  • 技术积分: 556
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-05 18:19
文章分类

全部博文(48)

文章存档

2012年(1)

2011年(9)

2010年(1)

2009年(12)

2008年(25)

分类:

2009-01-18 10:46:48

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; 但应养成用它们的习惯,尤其是借助一些脚本,例如 建立各种脚本的脚本
阅读(2480) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~