>Java >java지도 시간 >Java에서 Base64 함수를 사용하여 인코딩 및 디코딩하는 방법

Java에서 Base64 함수를 사용하여 인코딩 및 디코딩하는 방법

WBOY
WBOY원래의
2023-06-26 14:24:583257검색

Java 프로그래밍에서는 전송을 위해 바이너리 데이터를 텍스트 형식으로 변환해야 하는 경우가 많으며, Base64 인코딩이 일반적으로 사용되는 변환 방법입니다.

Base64는 3바이트의 데이터를 4바이트의 텍스트 데이터로 변환합니다. 텍스트 데이터는 인쇄 가능한 문자만 포함하므로 이메일 및 HTTP 요청 메시지와 같은 프로토콜로 전송할 수 있습니다. Java는 Base64 인코딩 및 디코딩 API를 제공하므로 데이터를 쉽게 변환할 수 있습니다.

이 글에서는 Base64를 사용하여 Java에서 데이터를 인코딩하고 디코딩하는 방법을 소개합니다.

1. Java8 이상에서 제공하는 Base64 메소드를 사용하세요.

Java8 이상에서는 Base64 클래스를 제공하며, 인코딩 및 디코딩 작업에 제공되는 메소드를 직접 사용할 수 있습니다.

  1. Base64 인코딩

Base64 인코딩은 바이너리 데이터를 텍스트 형식으로 변환하는 프로세스입니다. Java는 Base64 인코딩 프로세스를 쉽게 구현할 수 있는 몇 가지 API를 제공합니다.

String str = "Java Base64编码解码";
byte[] data = str.getBytes("UTF-8");
String result = Base64.getEncoder().encodeToString(data);
System.out.println(result);

출력 결과는 다음과 같습니다: SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg==

getBytes() 메서드는 문자열에 해당하는 바이트 배열을 얻는 데 사용되며 Base64.getEncoder().encodeToString() 메서드는 인코딩 작업을 구현하는 데 사용되며 바이트 배열을 Base64 인코딩 형식의 A 문자열로 변환합니다.

  1. Base64 디코딩

은 인코딩에 해당합니다. 디코딩은 Base64 형식의 문자열을 이진 데이터로 변환하는 프로세스입니다. 마찬가지로 Java는 Base64 디코딩 프로세스를 쉽게 구현할 수 있는 API를 제공합니다.

String text = "SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg==";
byte[] data = Base64.getDecoder().decode(text);
String result = new String(data, "UTF-8");
System.out.println(result);

출력 결과는 다음과 같습니다. Java Base64 인코딩 및 디코딩

그 중 Base64.getDecoder().decode() 메서드는 Base64 형식의 문자열을 바이트 배열로 디코딩할 수 있으며, 새로운 String() 메서드는 바이트를 변환합니다. 문자열로 배열합니다.

2. Apache Commons 코덱을 사용하여 Base64 인코딩 및 디코딩 구현

Apache Commons 코덱 라이브러리는 Apache의 오픈 소스 프로젝트이며 Base64 외에도 Hex, URL, Soundex도 포함합니다. 및 기타 인코딩 방법. 여기서는 Base64 인코딩 및 디코딩을 위해 Commons Codec 라이브러리를 사용하는 방법만 소개합니다.

  1. Base64 인코딩
String str = "Java Base64编码解码";
byte[] data = str.getBytes("UTF-8");
String result = org.apache.commons.codec.binary.Base64.encodeBase64String(data);
System.out.println(result);

출력 결과는 위와 동일합니다.

여기에서는 org.apache.commons.codec.binary.Base64 클래스의 encodeBase64String() 메서드를 호출하여 Base64 인코딩을 구현합니다. 이 메서드는 바이트 배열을 Base64 형식 문자열로 변환합니다.

  1. Base64 decoding
String text = "SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg==";
byte[] data = org.apache.commons.codec.binary.Base64.decodeBase64(text);
String result = new String(data, "UTF-8");
System.out.println(result);

출력 결과는 위와 동일합니다.

여기에서는 org.apache.commons.codec.binary.Base64 클래스의 decodeBase64() 메서드를 호출하여 Base64 디코딩을 구현합니다. decodeBase64() 메서드는 Base64 형식의 문자열을 바이트 배열로 변환합니다.

요약:

Java8에서 제공하는 Base64 클래스를 사용하든 Apache Commons Codec 라이브러리를 사용하든 Base64 인코딩 및 디코딩을 쉽게 수행할 수 있습니다. 어떤 방법을 사용할지는 특정 상황에 따라 다릅니다. 실제 프로그래밍에서는 필요에 따라 어떤 방법을 사용할지 선택해야 합니다.

위 내용은 Java에서 Base64 함수를 사용하여 인코딩 및 디코딩하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.