- 締切済み
*バイナリエディタ*
36進数対応バイナリエディタ探してます。お願いします!!
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- beefisdead
- ベストアンサー率63% (92/145)
本当に作るのは、素晴らしいことだと思います。 私の言う「この世界」とは、掲示板や質問サイトのことではなく、技術者集団の世界のことです。ここの人たちは、アイディアがあるなら自分でさっさと作ってしまえ、という考えで動きます。 36進数で見たからと言って、別にファイルサイズが小さくなるわけではありません。byteの切れ目が分かりにくくなるのも現実には使いにくい理由ですね。 そういう話を考えると普通は36進数を敢えて使おうという人はいません。だからこそ、実践してみることはおもしろい。
- salsberry
- ベストアンサー率69% (495/711)
発想としては面白いですね。 ただ、バイナリエディタで採用するには36進数はあまり便利ではありません。現代のコンピュータ(のデータ)は2進数8桁、つまり8ビットを1バイトと呼んで基本的な単位としている場合がほとんどだからです。 > 二進数をそのままできる限り短く表現する言語としては最も合理的です。 16進数は1文字でちょうど4ビットを表す(2の4乗=16)ので、1バイトは16進数2文字で洗わせます。 一方36進数は1文字で5.1ビットちょっとの情報量を持ちます(2の5.17乗≒36.0)。したがって、1バイトのデータを36進数で表すには結局2文字必要です。 もちろん、複数バイトのデータをまとめて表すことにすれば36進数の優位性が出てきます。たとえば、9バイト(72ビット)のデータは16進数で18文字になりますが、36進数なら14文字で収まります。 しかし、バイナリエディタなら「先頭からnバイト目のデータをxxに書き換えたい」というような操作があるはずで、36進数で表されたデータの何文字目をどう書き換えたら意図した操作になるのかが直観的に判断できません。これが、あまり便利でないと書いた理由です。 発想をさらに押し進めると、0~9と大文字のA~Zに加えて小文字のa~zも加えて62進数にするとか、どうせならさらに何か2文字加えれば64進数になるのでちょうど6ビット分になって便利かもしれません。実は、後者の考え方はBase64という符号化方法として既に広く使われています(リンク先参照)。
お礼
投稿ありがとうございます。でもつくるべきだという意見が多いのでもう早速作ってしまいました。ソースは以下のサイトです。 http://okwave.jp/qa4866336.html
- tadys
- ベストアンサー率40% (856/2135)
自分で作るしかないでしょうね。 “FORTH”言語を使用すれば数値の基数を任意に設定できるので36進数に対応できます。 数値を36進数と10進数で表示するプログラムを 36dump とすると : 36dump dup 36 base ! . 10 base ! . ; これを実行すると 9 36dump 9 9 10 36dump A 10 30 36dump U 30 35 36dump Z 35 36 36dump 10 36 のようになります。 Win用のFORTHは http://win32forth.sourceforge.net/ から入手できます。 Mac用ならばMOPSが使用できます。
お礼
つくるべきだという意見が多いので早速本当に作ってしまいましたよ! さすがにイチからつくる余裕も能力もないので,まずそこらへんのフリーウェアサイトによくあるバイナリエディタで10進数まで求め,その後の36進数化処理を自分がつくったスクリプトプログラムで行うという感じです。ソースは以下のサイトです。 http://okwave.jp/qa4866336.html ありがとうございました。
- beefisdead
- ベストアンサー率63% (92/145)
欲しいと思ったときこそ、プログラミングをするときではありませんか? この世界には、言い出しっぺの法則というものがありますので、36進数対応バイナリエディタは是非あなたが作るべきでしょう。 バイナリデータから36進数をどう構成するのかは気になりますが、そこを含めてあなたの腕の見せ所ですね。 おもしろいアイディアだと思います。
お礼
つくるべきだという意見が多いので早速本当に作ってしまいましたよ! さすがにイチからつくる余裕も能力もないので,まずそこらへんのフリーウェアサイトによくあるバイナリエディタで10進数まで求め,その後の36進数化処理を自分がつくったスクリプトプログラムで行うという感じです。ソースは以下のサイトです。 http://okwave.jp/qa4866336.html ありがとうございました。
補足
投稿ありがとうございます。どう構成するのかとありますが,16進数が0~9までの10種類の数字とA~Fの6種類のアルファベットの計16種類の文字で二進数を表現するのにたいし,これをA~FではなくA~Zに拡張したものを,36進数といい,二進数をそのままできる限り短く表現する言語としては最も合理的です。確かにつくるというのは良い考えではありますが,どこから手をつけたら良いのか見当がつきません。多少のプログラミングはやっているので,もしある程度見通しできれば既につくりはじめていると思います。実際今まで簡単なソフトは自作しています。それから,ひとつ気になる事があるのですが,「この世界」とはどこの事を示しているのですか? okwaveでしょうか,それとも掲示板形式のサイト全般でしょうか。.
補足
分かりました。ありがとうございました!