반응형
base64 인코딩 / 디코딩을 제공하는 Java 라이브러리는 무엇입니까?
이 질문에 이미 답변이 있습니다.
- Java 19 답변 에서 Base64 데이터 디코딩
base64 인코딩 / 디코딩에 어떤 라이브러리를 사용할지 궁금합니다. 이 기능은 프로덕션 용도로 충분히 안정적이어야합니다.
자바 9
Java 8 솔루션을 사용하십시오. 참고 DatatypeConverter는 계속 사용할 수 있지만 이제 java.xml.bind
포함해야하는 모듈 내에 있습니다.
module org.example.foo {
requires java.xml.bind;
}
자바 8
Java 8은 이제 java.util.Base64
base64 인코딩 및 디코딩을 제공합니다 .
부호화
byte[] message = "hello world".getBytes(StandardCharsets.UTF_8);
String encoded = Base64.getEncoder().encodeToString(message);
System.out.println(encoded);
// => aGVsbG8gd29ybGQ=
디코딩
byte[] decoded = Base64.getDecoder().decode("aGVsbG8gd29ybGQ=");
System.out.println(new String(decoded, StandardCharsets.UTF_8));
// => hello world
자바 6 및 7
Java 6부터 덜 알려진 클래스를 javax.xml.bind.DatatypeConverter
사용할 수 있습니다. 이것은 JRE의 일부이며 추가 라이브러리가 필요하지 않습니다.
부호화
byte[] message = "hello world".getBytes("UTF-8");
String encoded = DatatypeConverter.printBase64Binary(message);
System.out.println(encoded);
// => aGVsbG8gd29ybGQ=
디코딩
byte[] decoded = DatatypeConverter.parseBase64Binary("aGVsbG8gd29ybGQ=");
System.out.println(new String(decoded, "UTF-8"));
// => hello world
Android 개발자라면 android.util.Base64
이 목적으로 수업을 사용할 수 있습니다 .
Apache Commons 내 에서 commons-codec-1.7.jar에는 인코딩에 사용할 수 있는 Base64 클래스가 포함되어 있습니다 .
Maven을 통해 :
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>20041127.091804</version>
</dependency>
Guava 에는 Base64도 있습니다 (다른 인코딩과 매우 유용한 기능 중)
참고 URL : https://stackoverflow.com/questions/14413169/which-java-library-provides-base64-encoding-decoding
반응형
'developer tip' 카테고리의 다른 글
이 간단한 addEventListener 함수 뒤에 'false'가 사용되는 이유는 무엇입니까? (0) | 2020.10.25 |
---|---|
객체에 대한 array_unique? (0) | 2020.10.25 |
JavaScript에서 요일과 마지막 요일을 얻는 방법 (0) | 2020.10.25 |
“Failure Delivering Result”-onActivityForResult (0) | 2020.10.25 |
Swift로 iOS 8에서 텍스트로 활동 표시기를 표시하는 방법은 무엇입니까? (0) | 2020.10.25 |