• 締切済み

データを圧縮したい

0或いは1が512個連続するビットパターンがあります。 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 のようなのです。 これを eYLfJXkQiS6{m"mMtI;|l"dajI.| YBCy/`usySwXm7n95(ad#oj6m7K5A:kRY5SC.)4}EvHND5R8a まで圧縮できました。 もっと圧縮する方法はありますか? テキストファイル(データ)しばりでお願いします。 これぞという回答お待ちしています。

みんなの回答

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.8

補足やお礼を読む限り、質問内容がおかしいとしか思えないんだけど、 1はビットではなく「1」ってアスキー文字なのね? (連続するビットパターンじゃ無いね) であれば、ランレングス圧縮を使えば 512(2バイト)「1」(1バイト)で合計3バイトにできます。

bitpatarn
質問者

補足

>1はビットではなく「1」ってアスキー文字なのね? そうですテキストです >512(2バイト)「1」(1バイト)で合計3バイトにできます。 0か1がランダムに出現する512個のアスキー文字でも3バイトで済みますか?

noname#199520
noname#199520
回答No.7

0が512個 これで4bitです。

  • drum_KT
  • ベストアンサー率43% (1108/2554)
回答No.4

ちなみに、データパターンが「0が512個」または「1が512個」の2種類しかなく、それをテキスト文字で表せば良いのであれば、1文字で表現できます。 「0が512個」=「0」、「1が512個」=「1」とすれば良いだけなので。 「テキストで」という縛りがなければ、1ビットで表現できます。

bitpatarn
質問者

お礼

>ちなみに、データパターンが「0が512個」または「1が512個」の2種類しかなく、 当然ちがいます。全パターンありえます。

bitpatarn
質問者

補足

だから全部テキストなんですけど。

noname#199976
noname#199976
回答No.3

No.1補足 >テキストなんですが。 意味不明です。質問文の >ビットパターン と合いません。 >もっと圧縮する方法はありますか? 圧縮伸張ルールを自分で決めてよいなら例えば 0が512個 1が512個 と現せば 8 バイトに圧縮できます。

bitpatarn
質問者

補足

#2の補足みてください

  • drum_KT
  • ベストアンサー率43% (1108/2554)
回答No.2

「アスキーテキストの」「0或いは1が512個連続する」もののことを「ビットパターン」とは言いません。 設問を勘違いしているのでは?

bitpatarn
質問者

補足

用語でもめる気はありません。 全部テキストしばりでお願いします。 入力も出力もテキストということです。

  • drum_KT
  • ベストアンサー率43% (1108/2554)
回答No.1

>eYLfJXkQiS6{m"mMtI;|l"dajI.| YBCy/`usySwXm7n95(ad#oj6m7K5A:kRY5SC.)4}EvHND5R8a これ、全然圧縮されていないどころか膨張してますよね? >0或いは1が512個連続するビットパターン 512ビットは64バイトです。一方、「eYLF…」は、改行部分がCRLFかLFだけかわかりませんが、最低78バイトになっています。

bitpatarn
質問者

補足

テキストなんですが。

関連するQ&A