2016-04-11 7 views
0

Çok büyük bir dizeyi mümkün olan en küçük dizeye sıkıştırmak istiyorum çünkü bunu sms ile göndermek istiyorum.Çok büyük bir dizeyi mümkün olduğu kadar küçük bir dizeye sıkıştırın java

i anda bu kodlama Kod Çözme yöntemlerini kullanıyorum ama bana çok büyük Şifreleme Metin

Dize LongText = verir "Hoşgeldin! Hoşgeldin! Hoşgeldin! Hoşgeldin! Hoşgeldin! Hoşgeldin! Hoşgeldin! Hoşgeldin!" + "Hoşgeldin Hoşgeldin! Hoşgeldiniz! Hoş Geldiniz! Hoş Geldiniz! Hoş Geldiniz! Hoş Geldiniz! "+ " Hoş Geldiniz! Hoş Geldiniz! Hoş Geldiniz! Hoş Geldiniz! Hoş Geldiniz! Hoş Geldiniz! "+ " Hoşgeldin! Hoş Geldiniz! Hoş Geldiniz! Hoş Geldiniz! Hoşgeldiniz! Hoş Geldiniz! Hoş Geldiniz! "+ " Hoş Geldiniz! Hoş Geldiniz! Hoş Geldiniz! Hoş Geldiniz! Hoş Geldiniz! Hoş Geldiniz! "

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 veya GZIP gibi bir sıkıştırma algoritması kullanmayı denediniz mi? –

+0

Metni sıkıştırmıyorsunuz, onu base64 kodluyorsunuz. [GZIP] gibi bir dahili sıkıştırma algoritması kullanmayı deneyin (https://docs.oracle.com/javase/7/docs/api/java/util/zip/GZIPOutputStream.html). Sıkıştırılmış verilerin genellikle '' byte '' olduğunu ve bunu bir sms'ye basmanın başka sorunlara neden olabileceğini unutmayın. – f1sh

+0

evet evet ben Darth Android – al7lawee

cevap

0

Huffman sıkıştırmasını kullanabilirsiniz, ancak elbette, alıcı tarafında sıkıştırmak ve alıcı tarafında sıkıştırmak zorunda olduğunuz anlamına gelir. Mesajda daha yaygın karakterler var, sıkıştırma oranı o kadar iyi olur.

+0

yaptım teşekkür ederim, ben deneyeceğim. Birçok Sıkıştırma ve Kodlama yöntemini denedim, ancak bana tatmin edici bir sonuç vermiyor, ancak henüz Huffman'ı denemedim – al7lawee

İlgili konular