Re: [問題] 二進位檔轉ASCII檔
※ 引述《yuxio (征服世界中)》之銘言:
: ※ 引述《bob123 ()》之銘言:
: : with open('100M.bin','rb') as fin, open('100M.hex','w') as fout:
: : fout.write(fin.read().encode('hex').capitalize())
: : 第三行
: 小弟也來野人獻曝一下,
: 分享自己個人工具庫裡與原PO問題相關的小片段
: 因為是個人使用的,所以只是針對字串,不是針對檔案
: 有需要者請自行修改即可
: # binary to hex string. ex, '\x12\x34\xcd\xef' -> '1234CDEF'
: bin2hex = lambda b: ''.join(x.encode('hex') for x in b).upper()
這個不是很懂為何要拆開再用join組合起來?
lambda b: b.encode('hex')
就行了.
str的encode method 夠好用了, 通常不太需要在做一隻function來把 "...".encode()
的形式改成 hex_encode( "..." )
: # split string/sequences in same size.
: # ex, strsplit('AABBCCDD',2) -> ['AA','BB','CC','DD']
: strsplit = lambda seq, size: [seq[i:i+size] for i in range(0, len(seq), size)]
lambda seq, size: map ( ''.join, zip( *([iter(seq)]*size) ) )
: 另外,如果是使用 Mac 或 Unix,
: 可以在 console 用以下的指令作轉換:
: xxd -u -ps 100M.bin > 100M.hex
: 這應該會比自己寫 python 或寫 c 還快 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.211.32.194
推
01/30 21:00, , 1F
01/30 21:00, 1F
→
01/30 21:00, , 2F
01/30 21:00, 2F
→
01/30 21:02, , 3F
01/30 21:02, 3F
→
01/30 21:04, , 4F
01/30 21:04, 4F
推
01/31 03:32, , 5F
01/31 03:32, 5F
→
01/31 03:33, , 6F
01/31 03:33, 6F
→
01/31 12:31, , 7F
01/31 12:31, 7F
→
01/31 12:31, , 8F
01/31 12:31, 8F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章