나는 String
을 가지고 있는데, 이는 내가 생각하기에 일련의 바이트의 base64 표현입니다. org.apache.commons.codec.binary.Base64InputStream
을 사용하여 바이트를 얻으려고합니다. 그러나 분명히이 스트림은 단 하나의 바이트 만 사용할 수 있습니다.Base64InputStream에서 한 바이트 만 사용할 수 있습니다.
문자열은 Base64OutputStream
을 사용하여 생성되었으며 원래 바이트 배열은 398 바이트 길이입니다.
내가 뭘하는지 잘 모르지만, Base64InputStream
에는 398 바이트가 있어야한다고 생각합니까? 내가 도대체 뭘 잘못하고있는 겁니까?
String myString = "rO0ABXNyABRqY..."; // Actual string is longer
ByteArrayInputStream byteArrayIS = new ByteArrayInputStream(myString.getBytes(StandardCharsets.UTF_8));
Base64InputStream base64IS = new Base64InputStream(byteArrayIS);
System.out.println("String length : " + myString.length());
System.out.println("Available bytes in byteArrayInputStream: " + byteArrayIS.available());
System.out.println("Available bytes in base64InputStream: " + base64IS.available());
출력 :
String length : 398
Available bytes in byteArrayInputStream: 398
Available bytes in base64InputStream: 1
그것은 참으로 문서에 있습니다. 내가 어떻게 그것을 놓쳤는 지 모르겠다. – abl