bytestringをニブル単位で扱い、その16進(0-F)表現をきれいに印刷する慣用方法は何ですか?バイト文字列から16進数のニフティに細かい印刷
putStrLn . show . B.unpack
-- [1,126]
どの、さらなる作業の際に
putStrLn . show . map (\x -> N.showIntAtBase 16 (DC.intToDigit) x "") . B.unpack
["1","7e"]
しかし、私が本当にしたいことはまだ
["1","7","e"]
かそれ以上である
['1','7','e']
私は[ "1" をアップのmungeことができ、 "7e"]しかしその文字列の操作むしろ数値操作を行う。数値をシフトしてマスキングする必要がありますか?
+1、ちょうどその 'concat。 map' == 'concatMap' –
' showHex'が2にならないので、ここで結果を乱すでしょう。 – Peaker
@Peakerが正しいです、この解決方法は間違いです。それは先頭の0を切り捨てます。下のcrockeeaの答えは正しいです。 –