간단한 Base64 문자열을 디코딩하려하지만 그렇게 할 수 없습니다. 현재 org.apache.commons.codec.binary.Base64
패키지를 사용하고 있습니다.Java에서 Base64 문자열 디코딩
사용하고있는 테스트 문자열은 abcdefg
이며 PHP YWJjZGVmZw==
을 사용하여 인코딩되었습니다.
이
내가 현재 사용하고 코드입니다 :Base64 decoder = new Base64();
byte[] decodedBytes = decoder.decode("YWJjZGVmZw==");
System.out.println(new String(decodedBytes) + "\n") ;
위의 코드는 오류가 발생하지 않지만, 대신 예상대로 출력 디코딩 된 문자열은하지 않습니다.
아니라 인코딩 , 무엇보다도 먼저, 당신은 항상 "당신을 위해, 예를 들어 문자열 ('새로운 String (decodedBytes을 아마도"US-ASCII의 "문자 집합을 지정해야합니다 US-ASCII ")'). – jtahlborn
@jtahlborn 아파치 커먼즈 코덱은 시스템 기본 인코딩에서 "그냥 작동"하도록 특별히 지정하지 않으면 – Affe
@TomasB 코드가 게시되었습니다. 전체 샘플이 저에게 잘 작동합니까? – Affe