[转] perl 半角 全角 转换

原文网址: http://hi.baidu.com/rdzwx/blog/item/6b52c9c4bdf70c179d163d81.html
 
perl 半角 全角 转换
2010-05-18 10:33

# 全角字符第一字节 = 163(0xA3), 第二字节为对应半角字符 + 128
# 全角中文第一字节 > 163
my $str = ‘019AaBbYyZz\",.?<>{}[]*&^%#@!~()+-|:;';
print "$str\n";
$str =~ s/\x{A3}(.)/chr(ord($1) - 128)/eg;
print "$str\n";

### 运行结果 ###
019AaBbYyZz\",.?<>{}[]*&^%#@!~()+-|:;
019AaBbYyZz\",.?<>{}[]*&^%#@!~()+-|:;

#反之则半角转全角
$str =~ s/([0-9a-zA-Z])/chr(163).chr(ord($1)+128)/eg;
print "$str\n";

### 运行结果 ###
019AaBbYyZz\",.?<>{}[]*&^%#@!~()+-|:;

你可能感兴趣的:([转] perl 半角 全角 转换)