> 백엔드 개발 > Golang > 디코딩할 때 '입력 바이트 4에서 잘못된 Base64 데이터' 오류가 발생하는 이유는 무엇입니까?

디코딩할 때 '입력 바이트 4에서 잘못된 Base64 데이터' 오류가 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-03 14:41:09
원래의
308명이 탐색했습니다.

Why Am I Getting an

Base64 디코딩 시 "입력 바이트 4의 잘못된 Base64 데이터" 오류 문제 해결

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿