視覚的なBASE64を追加するには
PHPコード:
<?PHP $ A = gzcompress( "ABC" ); エコー BASE64_ENCODE($ )。
//出力:eJxLTEoGAAJNASc =
デコード:gzuncompressを();
zlibのdeflateエンコーディングを使用して、ソースヒントデフォルト;
関数 gzcompress($データ、$レベル = -1、$エンコーディング = ZLIB_ENCODING_DEFLATE){}
JAVA(JDK1.8)に対応する処理コード:
輸入java.io.ByteArrayOutputStreamを; インポートにjava.io.IOException; 輸入java.util.Arrays。 輸入java.util.Base64; 輸入java.util.zip.Deflaterの; 輸入java.util.zip.Inflater; パブリック クラスGzCompress { 公共 静的 ボイドメイン(文字列[]引数){ 文字列encodeCompressd = "eJxLTEoGAAJNASc =" 。 バイト [] = compressd 。Base64.getDecoder()デコード(encodeCompressd)。 文字列の起源 = 新しい文字列(解凍(compressd)); System.out.printlnは(「起源:」+ 起源)。 バイト [] _compressd = 圧縮(origin.getBytes())。 バイト [] _encodeCompress = Base64.getEncoder()エンコード(_compressd)。 System.out.println(新しい文字列(_encodeCompress)); } パブリック 静的 バイト []解凍(バイト[]データ){ バイト []出力= 新しい バイト [0 ]。 インフレータdecompresser = 新しいインフレータ(); decompresser.reset(); decompresser.setInput(データ)。 ByteArrayOutputStream O =新しいByteArrayOutputStream(data.length); 試す{ バイト [] BUF = 新しい バイト [1024 ]; しばらく(!decompresser.finished()){ int型 I = decompresser.inflate(BUF)。 o.write(BUF、 0 、I)。 } 出力 = o.toByteArray()。 } キャッチ(例外e){ e.printStackTrace(); } 最後に{ しようと{ )(o.close。 } キャッチ(IOExceptionを電子){ e.printStackTrace(); } } )(decompresser.end。 戻り値の出力; } パブリック 静的 バイト []圧縮(バイト[]バイト){ バイト []出力= 新しい バイト [1024 ]; デフレータcompresser = 新しいデフレータ(); compresser.setInput(バイト)。 compresser.finish(); INT compressedDataLength = compresser.deflate(出力)。 リターンArrays.copyOf(出力、compressedDataLength)。 } }
対応する出力:
原産地:ABCの
compressLength:11
eJxLTEoGAAJNASc =