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

看板Perl作者 (阿政)時間8年前 (2015/05/20 01:25), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
大家好,小弟現在有一個在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://www.ptt.cc/bbs/Perl/M.1432056343.A.9ED.html

05/20 01:38, , 1F
chomp 把 "\n" 字元 (就是 0A) 刪掉了呀~
05/20 01:38, 1F

05/20 02:14, , 2F
感謝C大!原來是我一直弄錯方向
05/20 02:14, 2F

05/20 02:14, , 3F
一直以為是不同系統的問題,謝謝你!!
05/20 02:14, 3F

05/20 02:22, , 4F
有用binmode, line input mode,只chomp掉\x0a, 檔案是windows
05/20 02:22, 4F

05/20 02:23, , 5F
那輸出後不就一堆 \x0d 遺留下來了??
05/20 02:23, 5F

05/20 02:23, , 6F
更正:檔案來源是windows
05/20 02:23, 6F

05/20 13:04, , 7F
試了一下,好像不論有沒有加binmode,"0d"都會留下來
05/20 13:04, 7F
文章代碼(AID): #1LMt8Ndj (Perl)
文章代碼(AID): #1LMt8Ndj (Perl)