こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

バイナリデータを文字に変換して圧縮もしたい

あるバイナリデータのバックアップを印刷したいと考えています。
元のバイナリデータが2MBぐらいあるのでそれをZIP圧縮して1MBでそれをbase64で文字列に変換すると
2MBぐらいの文字列になってしまい 印刷すると150ページでした。
金庫にしまうにしても150ページでは多いのでなんとか10ページぐらいに抑えたいです。

そこで考えたのですがbase64の要領で日本語の文字列に変換することができれば印刷枚数を減らせるかと思うのですが そういった圧縮を行うライブラリってないものでしょうか?
容量は減らなくてもいいので 印刷のページ数を減らしたいです。
base64が64文字に対し日本語の文字列は5万文字?あるので大幅に減らせそうですし
小学生で習う漢字レベルだけでも1文字の情報量が100倍以上になるのでうまくいくのかなぁ?っと。

ちなみにバックアップするものは秘密鍵のような物で もちろん暗号化してクラウド等オンラインでもバックアップをしていますが 非常に重要な物のため万が一に備えて紙でも印刷して残しておき いざというときに復元できるようにしたいです。
復元する際はOCR使って さらに目視でデータ確認で数時間とか数日かかるとしても
復元したいと思うレベルのデータです。

環境はVisualStudioでC#で組もうかと思っていますが 変換と復元作業ができれば環境は問いません。 いいライブラリやアルゴリズムがあれば教えてください。

あるいは日本語文字でなくても QRコードのように印刷した紙から一定のアルゴリズムでデコードできればなんでもいいのでよろしくお願いいたします。

投稿日時 - 2015-06-29 20:34:30

QNo.9003138

困ってます

質問者が選んだベストアンサー

> base64が64文字に対し日本語の文字列は5万文字?あるので大幅に減らせそう
64文字(通り)から5万文字(通り)に増えても,情報量は約2.6倍にしかなりません。
大幅に減らせるなんて事は無いです。
日本語だと文字の幅も増えるので必要スペースを考えるとさらに不利です。
似た文字が増えて誤読する可能性も考えると素直にBase64使ったほうが良いでしょう。

> QRコードのように
なら、QRコードを使えば良いと思います。
目的にも合ってそうですし。

投稿日時 - 2015-06-29 22:29:27

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.1

そこまで大事なデータなら、rarにパス63ケタ圧縮して63ケタパスを金庫に入れたらええんやないか?
現状rarパス破るの不可能やで?
確か世界最高のスパコンでも宇宙が誕生した年数160億年のさらに数千倍とか、そんなレベルや。
宇宙が消滅しても生き残る位の未知のテクノロジーでも見つけん限り無理や。

投稿日時 - 2015-06-29 21:05:47

補足

それに近いことをしたファイルをファイルサーバーからクラウド上などなどに保存してますが 間違ってファイル消しちゃったり ウィルス感染で消えたり クラウドのパスワード忘れて暗号化ファイルが取り出せなくなったりなどなど、、、
リスク分散の一環としてコンピューター関係ない金庫でも保存したいな、と。

まぁ自分自身はコンピューター技術者としては99.999999%大丈夫だろうといろいろなところにデータ保存してますが 年代上の人は紙がなんだかんだで安心なようで
安全だって説得力出すためにやろうと考えています。
耐火金庫でもCDRはダメだけど 書類なら火事になっても○時間は大丈夫ですし・・・

投稿日時 - 2015-06-29 22:35:32

-広告-
-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-