科技讯息网 – 程序员的那点事!

首页 > 编程资料 > Perl语言 > 正文

perl在系统默认为UTF-8编码下如何取得字符的ASCII码值?

浏览次数:次 2003年05月29日 作者:SOOOOOOS 字号:

系统的默认编码为UTF-8,如果字符的ASCII值大于0xC0,调用perl中的ord()函数会认为这个字符为UTF-8字符,而会去取下一个字节的信息,以便组成一个UTF-8字符。我现在只想取得该字符的ASCII编码,而不取下一个字节的信息,请问有函数可以调用吗?



?apile 回复于:2003-05-27 17:21:30

unpack("H*",$a);
自己抓前面两个数字或者其他数字..转换...
!/usr/bin/perl
$a?=?"我";
print?"$a,$b,$c\n";
$b=?unpack("H*",$a);
print?"$a,$b,$c\n";
$c?=?hex(substr($b,0,2));
print?"$a,$b,$c\n";


?SOOOOOOS 回复于:2003-05-28 11:14:59

谢谢帮忙!


?轩辕砍刀 回复于:2003-05-29 22:32:58

不错