バイナリーファイルを C 言語の配列で出力
仕事柄、バイナリーデーターをそのまま C 言語の配列に変換してプログラムに組み込むことがあるのですが、これまでは自作のプログラムでやってました。
Linux 環境には od とか hexdump とか hd とかあるのでそれでできないか考えていましたが、 xxd というコマンドがあってそれを使うと簡単に C 言語の配列に変換してくれます。
xxd -i ファイル名
ためしに .bashrc を 変換してみました。
完全に C 言語のソースにしてくれいます。
これは便利。
Linux 環境には od とか hexdump とか hd とかあるのでそれでできないか考えていましたが、 xxd というコマンドがあってそれを使うと簡単に C 言語の配列に変換してくれます。
xxd -i ファイル名
ためしに .bashrc を 変換してみました。
$ xxd -i .bashrc
unsigned char _bashrc[] = {
0x23, 0x20, 0x2e, 0x62, 0x61, 0x73, 0x68, 0x72, 0x63, 0x0a, 0x0a, 0x23,
0x20, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62,
0x61, 0x6c, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x0a, 0x69, 0x66, 0x20, 0x5b, 0x20, 0x2d, 0x66, 0x20, 0x2f,
0x65, 0x74, 0x63, 0x2f, 0x62, 0x61, 0x73, 0x68, 0x72, 0x63, 0x20, 0x5d,
0x3b, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x2e, 0x20, 0x2f, 0x65,
0x74, 0x63, 0x2f, 0x62, 0x61, 0x73, 0x68, 0x72, 0x63, 0x0a, 0x66, 0x69,
0x0a, 0x0a, 0x23, 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, 0x73, 0x70, 0x65,
0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65,
0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x0a
};
unsigned int _bashrc_len = 124;
完全に C 言語のソースにしてくれいます。
これは便利。
コメント
コメントを投稿