2016-04-11 7 views
0

私はsmsで送信したいので、できるだけ大きな文字列を最小の文字列に圧縮したい。非常に大きな文字列をできるだけ小さな文字列に圧縮する

私は現在、このエンコードデコード方法を使用していますが、それは私に非常に大規模な暗号文

文字列長いテキスト=「ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!」+ 「ようこそを与えますようこそ!ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!+ "ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!" + "ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!+ "ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!ようこそ!"

public byte[] Encoding(String PlainText) 
{ 
    byte[] encodeValue = Base64.encode(PlainText.getBytes(), Base64.DEFAULT); 
    return encodeValue; 
} 

public String Decoding(byte[] CipherText) 
{ 
    byte[] decodeValue = Base64.decode(CipherText, Base64.DEFAULT); 
    return new String(decodeValue); 
} 
+2

ZIPやGZIPのような圧縮アルゴリズムを試したことがありますか? –

+0

あなたはテキストを圧縮していません。あなたはbase64でそれをエンコードしています。 [GZIP](https://docs.oracle.com/javase/7/docs/api/java/util/zip/GZIPOutputStream.html)などのビルトイン圧縮アルゴリズムを使用してみてください。圧縮されたデータは通常 '' byte [] ''であり、それをsmsに入力すると他の問題が発生する可能性があることに注意してください。 – f1sh

+0

はいはい私はダース・アンドロイドをしました – al7lawee

答えて

0

あなたはハフマン圧縮を使用することができますが、もちろん、送信側で圧縮して受信側で圧縮解除する必要があることを意味します。メッセージに共通する文字が多いほど、圧縮率が向上します。

+0

ありがとう、私はそれを試してみます。 私は多くの圧縮とエンコーディングの方法を試しましたが、それは私に満足のいく結果を与えませんでしたが、私はまだハフマンを試していませんでした – al7lawee