반응형
Java에서 바이트 배열을 Base64로 변환하려면 어떻게 해야 하나요?
좋아요, C#에서 어떻게 하는지 알아요.
심플한 것은, 다음과 같습니다.
Convert.ToBase64String(byte[])
and Convert.FromBase64String(string) to get byte[] back.
자바에서는 어떻게 해야 하나요?
자바 8 이상
바이트 배열 인코딩 또는 디코딩:
byte[] encoded = Base64.getEncoder().encode("Hello".getBytes());
println(new String(encoded)); // Outputs "SGVsbG8="
byte[] decoded = Base64.getDecoder().decode(encoded);
println(new String(decoded)) // Outputs "Hello"
문자열만 원하는 경우:
String encoded = Base64.getEncoder().encodeToString("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = new String(Base64.getDecoder().decode(encoded.getBytes()));
println(decoded) // Outputs "Hello"
자세한 것은, Base64 를 참조해 주세요.
자바 < 8
Base64는 8보다 이전 버전의 Java에는 번들되어 있지 않습니다.Apache Commons 코덱 사용을 권장합니다.
직접 바이트 배열의 경우:
Base64 codec = new Base64();
byte[] encoded = codec.encode("Hello".getBytes());
println(new String(encoded)); // Outputs "SGVsbG8="
byte[] decoded = codec.decode(encoded);
println(new String(decoded)) // Outputs "Hello"
문자열만 원하는 경우:
Base64 codec = new Base64();
String encoded = codec.encodeBase64String("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = new String(codec.decodeBase64(encoded));
println(decoded) // Outputs "Hello"
봄
이미 Spring 프로젝트에서 일하고 있다면, 그 클래스가 더 인체공학적이라는 것을 알 수 있을 것입니다.
직접 바이트 배열의 경우:
byte[] encoded = Base64Utils.encode("Hello".getBytes());
println(new String(encoded)) // Outputs "SGVsbG8="
byte[] decoded = Base64Utils.decode(encoded);
println(new String(decoded)) // Outputs "Hello"
문자열만 원하는 경우:
String encoded = Base64Utils.encodeToString("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = Base64Utils.decodeFromString(encoded);
println(new String(decoded)) // Outputs "Hello"
Android (Java < 8 탑재)
Java 8 이전에 Android SDK를 사용하는 경우 번들된 SDK를 사용하는 것이 가장 좋습니다.android.util.Base64
.
직접 바이트 배열의 경우:
byte[] encoded = Base64.encode("Hello".getBytes());
println(new String(encoded)) // Outputs "SGVsbG8="
byte [] decoded = Base64.decode(encoded);
println(new String(decoded)) // Outputs "Hello"
문자열만 원하는 경우:
String encoded = Base64.encodeToString("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = new String(Base64.decode(encoded));
println(decoded) // Outputs "Hello"
용도:
byte[] data = Base64.encode(base64str);
인코딩은 Base64로 변환됩니다.
이 코드가 작동하려면 프로젝트에서 공통 코덱을 참조해야 합니다.
Java8의 경우:
import java.util.Base64
또한 Android 친구(API 레벨 8):
import android.util.Base64
...
Base64.encodeToString(bytes, Base64.DEFAULT);
만약 당신이 java와 함께 Spring framework를 사용한다면, 쉬운 방법이 있습니다.
다음을 가져옵니다.
org.springframework.slot을 Import합니다베이스 64 Utils;
이렇게 변환합니다.
바이트 [] byearr = {0,1,2,3,4};인코딩된 문자열텍스트 = Base64Utils.encodeToString(byearr);
디코딩하려면 Base64Utils 클래스의 decodeToString 메서드를 사용합니다.
언급URL : https://stackoverflow.com/questions/2418485/how-do-i-convert-a-byte-array-to-base64-in-java
반응형
'programing' 카테고리의 다른 글
자동 리픽서를 테일윈드CSS 및 그리드섬과 연동시키는 방법 (0) | 2022.07.12 |
---|---|
Java 코드의 특정 섹션에 대해 Eclipse 코드 포맷터를 끄려면 어떻게 해야 합니까? (0) | 2022.07.12 |
C에서 .csv 파일을 읽습니다. (0) | 2022.07.12 |
Eclipse의 Java 컴파일러는 같은 코어의 랩퍼에 불과합니까? (0) | 2022.07.12 |
IntelliJ IDEA 여러 줄 편집 방법 (0) | 2022.07.12 |