base64.StdEncoding.DecodeString(str)을 사용하는 동안 "잘못된 base64 데이터"를 나타내는 오류 입력 바이트 4"에서 발생할 수 있습니다. 이 문제는 디코딩을 위해 제공된 입력 문자열에 Base64로 인코딩되지 않은 데이터가 포함된 경우에 발생합니다.
데이터 URI 체계 이해
종종 입력 문자열은 Base64로 직접 인코딩되지 않지만 오히려 데이터 URI 체계의 일부입니다. 이 구성표는 다음 형식을 사용하여 웹 페이지 내에 데이터를 인라인 리소스로 포함합니다.
data:[<MIME-type>][;charset=<encoding>][;base64],<data>
제공된 오류의 경우 입력 문자열은 image/png MIME 유형의 데이터 URI를 나타냅니다. 실제 Base64 인코딩 데이터를 추출하려면:
input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA" b64data := input[strings.IndexByte(input, ',')+1:]
이렇게 하면 접두사가 제거되고 Base64 인코딩 데이터만 남습니다.
추출된 Base64 데이터 디코딩
Base64로 인코딩된 데이터(b64data)를 얻은 후에는 다음을 사용하여 디코딩할 수 있습니다. base64.StdEncoding.DecodeString() 함수를 사용하여 원시 데이터를 추출합니다. 예:
data, err := base64.StdEncoding.DecodeString(b64data) if err != nil { fmt.Println("error:", err) } fmt.Println(data)
위 내용은 디코딩할 때 '입력 바이트 4에서 잘못된 Base64 데이터' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!