作者KyoYang (–羊–)
看板Python
標題[問題] 有關二進制讀檔的問題
時間Thu Apr 10 20:08:36 2008
目前打算將16進制格式的檔案讀出並做一些位元轉換的動作,
用UE打開資料顯示為以下範例:
00000000h: D4 C3 B2 A1 ......................
00000010h: EF CD AB .........................
不過卻卡在下面這個問題,
我用 read(4) 固定讀4個bytes的資料,
小弟剛用 shell 跑了一下發現問題出現在讀檔時
s = f.read(4) 把字串讀成 \xd4\xc3\xb2\xa1
發現他多了 \ <== 這個符號 導致無法辨識
有辦法讓這種資料格式讀入時就為 0xd40xc30xb20xa1 嗎?
因為 int(s,[base]) 必須指定用 base = 0x 時 才能讀16進制
所以我這樣讀一定沒辦法轉成數字…
還請板友給些建議…謝謝!
--
│ ███ ▂▄▃
││││
│ ˋ ◤Mooncat~◥││││ 「為什麼
,
│ ‵ ◤ ◥▏*_▂▁ ▋
│││ 為什麼教授這麼雞掰
│ ′ 、▌█
▊▉▏ │ 沒天理啊
……
…」
◢ ◤◢
◣▋◢ █
▋▊ ▕▅▇
◥◥*Mooncat~
◢ ▂▇ˋ█▆◤
▂_ ▁▄▆▇▃
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.175.128
推 StubbornLin:在python要做二進指的操作 要用pack那個模組吧? 04/10 20:30
→ KyoYang:不太懂Lin大的意思?可否說明的更詳細? 04/10 20:36
※ 編輯: KyoYang 來自: 140.130.175.128 (04/10 21:10)
推 weijr:把手冊瀏覽一遍是必要的,如果不夠,兩遍三遍 04/11 11:43
推 huggie:瀏覽一遍是把整個 Library Reference 看過? 04/12 17:09
推 ykjiang:很快看過,有個感覺,知道有哪些東西可用,這很基本... 04/20 02:35