예외: 입력 바이트 4의 잘못된 Base64 데이터
base64.StdEncoding.DecodeString을 사용하여 base64로 인코딩된 문자열을 디코딩하려고 하면 "입력 바이트 4에 잘못된 base64 데이터" 오류가 발생할 수 있습니다. 이 오류는 데이터 URI 체계를 부적절하게 처리했기 때문에 발생합니다.
데이터 URI 체계는 웹 페이지 내에서 데이터를 인라인으로 인코딩하여 외부 리소스와 유사합니다. 형식은 다음과 같습니다.
data:[<MIME-type>][;charset=<encoding>][;base64],<data>
여기서:
귀하의 시나리오에서 문제를 해결하려면 디코딩하기 전에 데이터 URI 체계에서 base64로 인코딩된 데이터를 추출해야 합니다. 이를 달성하려면 접두사를 쉼표까지 제거하세요.
input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA" b64data := input[strings.IndexByte(input, ',') + 1:]
이제 성공적으로 디코딩할 수 있는 base64로 인코딩된 데이터가 있습니다.
data, err := base64.StdEncoding.DecodeString(b64data) if err != nil { fmt.Println("error:", err) } fmt.Println(data)
위 내용은 Base64 문자열을 디코딩할 때 '입력 바이트 4의 잘못된 Base64 데이터' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!