作者mattheww (阿政)
看板Perl
标题[问题] win/linux下的ASCII转换hex的问题
时间Wed May 20 01:25:40 2015
大家好,小弟现在有一个在windows下接收data所得到的ascii code file,
想将此file在linux系统下转成十六进制,
但发现原本应该是十六进制"0A"的ascii符号一直没办法被判读到,
(PS.其他ascii字元目前没发现问题)
想请问板上高手们是否有相关经验呢?
以下是小弟的简单程式码:
open(PM, "./parser.log")
binmode PM;
foreach(<PM>)
{
chomp($_);
$line = $_;
my $out = unpack('H*', $_);
print "$out"
}
真的麻烦板上高手了,谢谢阿!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.129.31.153
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Perl/M.1432056343.A.9ED.html
1F:推 CindyLinz: chomp 把 "\n" 字元 (就是 0A) 删掉了呀~ 05/20 01:38
2F:→ mattheww: 感谢C大!原来是我一直弄错方向 05/20 02:14
3F:→ mattheww: 一直以为是不同系统的问题,谢谢你!! 05/20 02:14
4F:→ flu: 有用binmode, line input mode,只chomp掉\x0a, 档案是windows 05/20 02:22
5F:→ flu: 那输出後不就一堆 \x0d 遗留下来了?? 05/20 02:23
6F:→ flu: 更正:档案来源是windows 05/20 02:23
7F:→ mattheww: 试了一下,好像不论有没有加binmode,"0d"都会留下来 05/20 13:04