답변:
바이트 배열 인코딩 또는 디코딩 :
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를 참조하세요 .
Base64는 8 미만의 Java 버전에는 번들로 제공되지 않습니다 . Apache Commons Codec 사용을 권장 합니다.
직접 바이트 배열의 경우 :
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 프로젝트에서 작업하고 있다면 org.springframework.util.Base64Utils
더 인체 공학적인 클래스를 찾을 수 있습니다 .
직접 바이트 배열의 경우 :
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"
Java 8 이전에 Android 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"
Java와 함께 Spring 프레임 워크를 사용하는 경우 쉬운 방법이 있습니다.
다음을 가져옵니다.
import org.springframework.util.Base64Utils;
이렇게 변환하십시오.
byte [] bytearr = {0,1,2,3,4}; 문자열 encodeText = Base64Utils.encodeToString (bytearr);
디코딩하려면 Base64Utils 클래스의 decodeToString 메서드를 사용할 수 있습니다.