[转] 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\",.?<>{}[]*&^%#@!~()+-|:; |