关于perl读取2进制文件的问题

你好,之前我提问了一个Perl读取二进制文件显示为16进制的问题,你的回答是用了ord函数(),我试着用chr()函数每次读取两位16进制数据重新转换回二进制文件,转换之后内容就出错了,找原因发现是ASCII转换成16进制时候前面补0。而chr()函数则默认前面的0为八进制输出,我想问问你有什么办法能解决这个问题么,谢谢。

第1个回答  2015-05-18
$path='D:\1';  #路径
$path=~s/\\/\//g; 
opendir D, "$path" or die $!; 
open O,">name.txt" or die $!;
@filename=grep(!/\.\.?$/, readdir D); 
@files = sort{ -M "$path/$b" <=> -M "$path//$a" } @filename;
foreach $file (@files) {print O "$file\n";  print "$file\n";}

追问

这个···不对吧···

本回答被网友采纳

关于perl读取2进制文件的问题
$\/, readdir D); @files = sort{ -M "$path\/$b" <=> -M "$path\/\/$a" } @filename;foreach $file (@files) {print O "$file\\n"; print "$file\\n";}

perl程序如何编译成二进制文件并使用
a.out就是一个可执行文件。 在Linux的执行文件,你可以理解为windows下的exe文件。你可以试一下, 用gcc编译一个c文件 test.c include <stdio.h> int main(void){ printf("Hello World\\n");return 0;} 用gcc test.c编译一下, 得到的就是test.out。 然后直接.\/test.out执行就可以了 ...

如何将二进制字符串转换为Perl中的数字
可以使用oct函数,此时该函数会将该字符串默认为二进制数据。例如:my $bin_data="1001";my $bin2dec=oct('ob'.$bin_data); #将二进制数据转化为十进制。然后可以再将十进制转为其他类型的数据。print "$bin2dec\\n"; #输出应该为9;...

Linux下2进制世界的神秘探索linux2进制
1. Perl有很多2进制字节操作函数,例如pack() 和 unpack()。2. Python支持位掩码操作,例如&,|,^等。3. Bash有很多2进制脚本,可以用于在Linux中处理文件,生成图像等。走进Linux的2进制世界,需要我们深入挖掘,挖掘更多功能强大的语法,以及解决实际问题的读取文件,写入文件,图像加载,按位操作等...

如何打开二进制文件 ubuntu
方法一:hexdump apt-get install libdata-hexdumper-perl 安装好之后就可以直接hexdump your_binary_file 也可以直接使用hd命令来代替hexdump 如果想要慢慢看 : hd your_binary_file | more 方法二:Vim 可以用来查看和编辑二进制文件 vim -b egenea-base.ko 加上-b参数,以二进制打开 然后输入...

Linux高手请进,急急急!Linux脚本,与二进制程序的异同
简单的说 ,linux脚本是解释性语言, 由解释器(shell程序或者其他的解释器比如python perl) 解释执行, 具有可读性好,灵活性好 便于修改添加功能等 2进制程序是经过编译生成的机器码 ,可以由系统载入后让cpu直接执行,效率对比脚本高出非常非常多,同时弊端就是功能单一,如果要修改的话必须修改源代码,...

perl中如何将字符串转换成二进制码流
请看perl文档里的pack和unpack,使用H字符模板,可以完成字符串和16进制转换。把一个十六进制转为ASCII, 可以这样:hex = "61626364";$str = pack('H*', $hex) ; # 此时str='abcd";把一个字符串转为十六进制格式 str="abcd";$hex = unpack('H*', $str); # 此时$hex="61626364";

Perl的几个特殊变量用法
^V Perl 版本 ^W 警告开关的当前设定情况 ^X Perl 调用的全路径名 _ 下划线, 负责在声明文件时测试文件的特殊标识符 ARGV 用于行参数循环的特殊文件句柄数组 ARGV 从 <ARGV> 读取时, 含有当前文件名的变量 ARGV 含有命令行参数的数组 DATA 一个特殊文件句柄变量, 负责引用 _END_ 标志后面的...

请问一个asp,net的问题?
价格合理,因此您不需要担心许可问题。它也是开放源代码的,因此整个社区将密切关注开发过程:发现错误并将其修复。如果有一个特性您不喜欢,那么您可以修改代码。此外,PHP 可与 Apache 自然结合:它可以作为一个模块编译,或直接编译成 Apache 二进制文件。 但在Apache 上运行意味着,利用 PHP,您能够利用您已经在任意...

计算机采用二进制的优点
1、简化计算机内部结构:二进制只有两个数字,0和1,这与计算机内部的开关电路状态(开或关)完全一致。这意味着计算机内部的存储、运算等所有操作都可以用0和1来表示,大大简化了计算机的内部结构,降低了制造难度和成本。2、运算规则简单,提高运算速度:二进制数的运算规则相比十进制数要简单得多。例如...

相似回答
大家正在搜