perl binmode的用法?

lovebelobe 2013-02-21 09:21:58
打开一个ASCII码文件,用perl的pack函数把数据转换成binary,可是当遇到“0a”或“0d”的数据时就会转换成回车,我在网上查到用binmode可能可以解决这个问题,但可能是因为我不会用,所以没有得到想要的结果。

ASCII数据:
12345678900a1234567890
想转换成binary:
XXXXXXXXXXX(乱码)
可是转换后的结果是:
XXXXX
XXXXX

perl的代码:
......
open ( my $ifh, "<" ,$input_file) or die "Cannot open $input_file:$!";
binmode $ifh;

open ( my $ofh, ">" ,$output_file) or die "Cannot open $output_file:$!";
binmode $ofh;

......

my data = $line;
my data_conv = pack("H*",$data),"\n";

......
...全文
715 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovebelobe 2013-02-21
  • 打赏
  • 举报
回复
引用 1 楼 bugs2k 的回复:
莫非是想这样: Perl code?123456while (<DATA>) { my $s = unpack 'H*'; print $s;}__DATA__12345678900a1234567890
谢谢你的回答,其实已经实现了,是我不会看……(汗) 可不可以帮我看一下我另一张帖子的问题?? perl substr获取字符串中非空格的内容:http://bbs.csdn.net/topics/390372350
bugs2k 2013-02-21
  • 打赏
  • 举报
回复
莫非是想这样:
while (<DATA>) {
    my $s = unpack 'H*';
    print $s;
}
__DATA__
12345678900a1234567890

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧