Base64 및 기타 유사한 인코딩 알고리즘은 일반적으로 스토리지 또는 전송을 단순화하기 위해 이진 데이터를 텍스트 데이터로 변환하는 데 일반적으로 사용됩니다. 보다 구체적으로, Base64 알고리즘은 주로 이진 데이터를 ASCII 문자열 형식으로 변환하는 데 사용됩니다. Java Language는 Base64 알고리즘의 매우 우수한 구현을 제공합니다. 이 기사는 Base64 사용 방법과 작동 방식을 간략하게 설명합니다.
Base64 : 주요 목적은 암호화가 아니라 주요 목적을 네트워크 전송을 위해 일부 이진 번호를 일반 문자로 변환하는 것입니다. 일부 바이너리 문자는 전송 프로토콜에서 제어 문자이므로 직접 전송할 수 없으며 변환해야합니다.
첫 번째 방법 :
성찰을 통해 대중에게 노출되지 않은 Java의 클래스를 사용하십시오.
/ ****base64*/ public static string encodebase64 (byte [] input)에 의한 인코딩 예외 {class clazz = class.forname ( "com.sun.org.apache.xerces.internal.impl.dv.util.base64"); 메소드 mainmethod = clazz.getMethod ( "encode", byte []. class); MainMethod.setAccessible (true); 개체 retobj = mainMethod.invoke (null, new Object [] {input}); return (문자열) retobj; } / ****Base64* / public static byte [] decodebase64 (문자열 입력)에 의한 decode 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, 입력); return (byte []) retobj; } 두 번째 방법 :
Commons-codec.jar를 사용하십시오
/ ** * @param bytes * @return */ public static byte [] decode (final byte [] bytes) {return base64.decodebase64 (bytes); } / ** * 바이너리 데이터는 base64 string * * @param bytes * @return * @throws Exception * / public static string encode (final byte [] bytes) {return new String (base64.encodebase64 (bytes)); } 세 번째 방법 :
/ ** * 인코딩 * @param bstr * @return string */ public static string encode (byte [] bstr) {return new Sun.Misc.base644oNcoder (). encode (bstr); } / ** * 디코딩 * @param str * @return string * / public static byte [] decode (String str) {byte [] bt = null; {sun.misc.base64decoder decoder = new Sun.Misc.base64decoder (); bt = decoder.decodebuffer (str); } catch (ioexception e) {e.printstacktrace (); } return bt; }위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.