jdk6 또는 7Base64 디코딩 및 디코딩

2184 단어 JAVA 학습 노트
어제 문제가 생겼어요. 프로젝트가 좀 낡았어요. 개발 환경용javase1.6, 운영 환경은 jdk1.7, jdk8이 자체로 가지고 있는 인코딩과 디코딩을 사용할 수 없습니다.
만약 jdk8이 있다면, 이 몇 줄의 코드를 사용하십시오.
        String orig = "hello world!";
		String desc = 
        Base64.getEncoder().encodeToString(orig.getBytes(StandardCharsets.UTF_8));
		System.out.println("        :"+desc);
		
		String unDecodeStr=new         
        String(Base64.getDecoder().decode(desc),StandardCharsets.UTF_8);
		System.out.println("        "+unDecodeStr)

8 이하라면 다음과 같은 두 가지 방법으로 해결할 수 있다.
1. 프로젝트 중의 다른 가방에 이base64와 관련된 가방이 있는지 찾아보세요. 예를 들어 제 프로젝트에fastjson 가방이 있으면 사용할 수 있습니다.
  //    com.alibaba.fastjson.util.Base64   
  String nStr =new String(Base64.decodeFast(encodeStr));
  System.out.println(nStr);

2、소스 오픈한jar 패키지도 있고,javabase64-1.2.jar, 바로 뒤에 클릭하여 다운로드 주소를 다운로드할 수 있습니다.이jar 패키지를 도입하면 몇 줄의 코드가 인코딩과 디코딩을 실현할 수 있습니다.
코드 예:
Base64 인코딩을 위한 String 유형
String encoded = Base64.encode("Hello, world!");

Base64 디코딩을 위한 String 유형
String decoded = Base64.decode(encoded);

문자 인코딩 방법 지정하기
String encoded = Base64.encode("Hello, world!", "UTF-8");    

String decoded = Base64.decode(encoded, "UTF-8");   

파일을 인코딩하려면 다음과 같이 하십시오.
만약 파일이 비교적 작다면 다음과 같은 방식으로 메모리에 직접 읽어서 인코딩 처리할 수 있다
byte[] source = ...; // load your data here

byte[] encoded = Base64.encode(source);

byte[] decoded = Base64.decode(encoded);

만약 큰 것이 비교적 크다면stream:
코드 예제 Base64 인코딩:
InputStream inputStream = new FileInputStream("source.jpg");

OutputStream outputStream = new FileOutputStream("encoded.b64");

Base64.encode(inputStream, outputStream);

outputStream.close();

inputStream.close();

    Base64  :

InputStream inputStream = new FileInputStream("encoded.b64");

OutputStream outputStream = new FileOutputStream("decoded.jpg");

Base64.decode(inputStream, outputStream);

outputStream.close();

inputStream.close();

참조 문구:https://blog.csdn.net/chenleixing/article/details/46543901

좋은 웹페이지 즐겨찾기