[問題] win/linux下的ASCII轉換hex的問題

作者: mattheww (阿政)   2015-05-20 01:25:40
大家好,小弟現在有一個在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"
}
真的麻煩板上高手了,謝謝阿!!!
作者: CindyLinz (Cindy Wang)   2015-05-20 01:38:00
chomp 把 "\n" 字元 (就是 0A) 刪掉了呀~
作者: mattheww (阿政)   2015-05-20 02:14:00
感謝C大!原來是我一直弄錯方向一直以為是不同系統的問題,謝謝你!!
作者: flu (Crazy Rhythm)   2015-05-20 02:22:00
有用binmode, line input mode,只chomp掉\x0a, 檔案是windows那輸出後不就一堆 \x0d 遺留下來了??更正:檔案來源是windows
作者: mattheww (阿政)   2015-05-20 13:04:00
試了一下,好像不論有沒有加binmode,"0d"都會留下來

Links booklink

Contact Us: admin [ a t ] ucptt.com