내가 String
에 byte[]
를 인코딩하기 위해 노력하고, 다음 디코딩이 String
byte[]
에, 내 코드는 다음과 같습니다자바 base64로 인코딩 및 디코딩
byte[] aaa = new byte[1];
aaa[0] = (byte) 153;
String encoder = Base64.encodeBase64String(aaa);
System.out.println("encoder <<>> " + encoder);
// Decode the Base64 String.
byte[] bytes = Base64.decodeBase64(encoder);
String decoder = new String(bytes, "UTF08");
System.out.println("decoder <<>> " + decoder);
결과는 다음과 같습니다
encoder <<>> mQ==
decoder <<>> ?
결과는 아닙니다이다 같은 것. 왜 이런 일이 생길까요?
물론 동일하지 않습니다. 바이트를 UTF-8로 해석하는 반면 원하는 것은 바이트 값을 인쇄하는 것입니다. – nhahtdh
nhatdh가 말했듯이, 그냥 할 : System.out.println ("decoder <<>"+ bytes [0]); – ebolyen
나는 시도했고, 바이트의 값을 출력했다. 결과는 -103이고, 코드는 – TonyChou