1
リバーシブル16進ダンプユーティリティ(別名「xxd」)
xxdは、にバンドルされたユーティリティで、vimこのサイトでゴルフの問題をコーディングするための回答をエンコードするために使用されています。バイナリファイルを16進ダンプに変換し、再び戻します。 選択したプログラミング言語でxxdおよびxxd -rコマンドを実装します。スコアリングは、a)プログラムおよびb)結合プログラムをモード間で切り替えるのに必要なコマンドライン引数の文字/バイト長に基づいています(それらはである必要はありません-r)。ゴルフのように、スコアが低いほど良いです。 2つの別個のプログラムの場合:フォワードコード + リバースコード 結合プログラムの場合:結合コード + sum(フォワード引数)+ sum(リバース引数)-2 選択したxxdサブセットの仕様 フォワードコマンドは、(例えば xxd)0≤受け付けるN ≤2 16標準入力からバイトとCEILを生成する(N / 16)次のフォーマット(すべての進数字は小文字)で標準出力の行: 最初にエンコードされたバイト(フォーマット文字列"%07x:")のオフセット。で終わる"0" 最大16桁の16進数でエンコードされたバイトで、ペアにグループ化され(" %02x"偶数バイト、"%02x"奇数バイトのフォーマット文字列)、42文字までスペースで右詰めされます。 ASCII文字として解釈されたエンコードされたバイト。0x20から0x7e('\40'および'\176')の間の値ではない"." 改行("\n"; "\r\n"標準出力がバイナリモードの場合に許可されます) 最小限の未実装のC実装: #include <stdio.h> int main() { unsigned char L[16]; int t = 0, n, i, s; for (; (n = fread(L, 1, 16, stdin)); t += n) …
12
code-golf