Base64およびその他の同様のエンコードアルゴリズムは、一般に、ストレージまたは送信を簡素化する目的で、バイナリデータをテキストデータに変換するために使用されます。より具体的には、Base64アルゴリズムは主にバイナリデータをASCII文字列形式に変換するために使用されます。 Java言語は、Base64アルゴリズムの非常に優れた実装を提供します。この記事では、Base64の使用方法とその仕組みについて簡単に説明します。
Base64:その主な目的の機能は暗号化ではなく、主な目的は、いくつかのバイナリ数をネットワーク伝送のために通常の文字に変換することです。一部のバイナリ文字は伝送プロトコル内の制御文字であるため、直接送信することはできず、変換する必要があります。
最初の方法:
反射を通じて一般に公開されていないJavaでクラスを使用してください。
/ ****base64*/ public static string encodebase64(byte [] input)slows exception {class clazz = class.forname( "com.sun.org.apache.xerces.internal.impl.dv.util.base64");メソッドmainmethod = clazz.getmethod( "encode"、byte []。class); mainmethod.setAccessible(true); Object retobj = mainmethod.invoke(null、new object [] {input}); return(string)retobj; } / ****base64によるデコード* / public static byte [] decodebase64(string input)throws exception {class clazz = class.forname( "com.sun.org.apache.xerces.internal.impl.dv.util.base64");メソッドmainmethod = clazz.getmethod( "decode"、string.class); mainmethod.setAccessible(true);オブジェクトretobj = mainmethod.invoke(null、input); return(byte [])retobj; } 2番目の方法:
Commons-Codec.jarを使用します
/ ** * @param bytes * @return */ public static byte [] decode(final byte [] bytes){return base64.decodebase64(bytes); } / ** *バイナリデータはbase64 string * * @param bytes * @return * @throws例外 * / public static string encode(final byte [] bytes){return new String(base64.encodeBase64(bytes)); } 3番目の方法:
/ ** * encoding * @param bstr * @return string */ public static string encode(byte [] bstr){return new sun.misc.base64encoder()。encode(bstr); } / ** * decoding * @param str * @return string * / public static byte [] decode(string str){byte [] bt = null; try {sun.misc.base64decoder decoder = new sun.misc.base64decoder(); bt = decoder.decodebuffer(str); } catch(ioexception e){e.printstacktrace(); } btを返します。 }上記はこの記事のすべての内容です。私はそれがすべての人の学習に役立つことを願っています、そして、私は誰もがwulin.comをもっとサポートすることを願っています。