首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用perl交换两个字节

用perl交换两个字节
EN

Stack Overflow用户
提问于 2014-05-19 01:38:56
回答 2查看 186关注 0票数 0

我试图在一个文件中一次交换两个字节。所以我想我可以一次读两个字节,然后用相反的方式来切换字节。但是,我不知道如何在perl中一次读取两个字节。有人能提个建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-19 03:31:02

一次读取两个字节是非常低效率的。您应该继续一次读取较大的块,并在缓冲区中处理字节。

代码语言:javascript
代码运行次数:0
运行
复制
$buf =~ s/(.)(.)/$2$1/sg;

代码语言:javascript
代码运行次数:0
运行
复制
$buf = pack 'S<*, unpack 'S>*', $buf;
票数 1
EN

Stack Overflow用户

发布于 2014-05-19 01:46:47

使用" read“(http://perldoc.perl.org/functions/read.html)读取和传递长度参数"2”以读取数据的2个字节(默认情况下)。

出于性能原因,如果您有一个大文件,您可能需要考虑一次读取更多(或者全部)文件,而不是调用read (以字节表示的文件大小)/2。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23728612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档