Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック問題80

問題80 2進数から文字列を復元

問題のファイルは

https://github.com/shellgei/shellgei160

からダウンロードできる。

xxd の使い方に関して少し混乱していたことが解決したのは収穫だった。

解答例は

 cat zeroone | sed 's/^/obase=16;ibase=2;/' | bc | xxd -p -r

となる。xxd -r で16進ダンプからバイナリへ戻すとのことだったが、このバイナリの意味をテキストで記録されたバイナリと勘違いしていた。バイナリへ戻すというのは元のファイルに戻す(あらゆるファイルというのはそもそもバイナリでできている)という意味だ。テキストで記録された16進ダンプ⇔普通のファイルを行き来するということ。