Rumah >pembangunan bahagian belakang >Golang >Mengapa base64.StdEncoding.DecodeString(str) Gagal dengan Ralat 'data base64 tidak sah pada input byte 4'?
Apabila cuba menyahkod Base64Image menggunakan base64.StdEncoding.DecodeString( str), pengguna mungkin menghadapi ralat "data base64 haram pada bait input 4." Ini berlaku kerana rentetan input tidak dikodkan sepenuhnya Base64.
Input yang disediakan ialah skema URI Data, format yang digunakan untuk membenamkan data, seperti imej, dalam halaman web. Ia mengikuti struktur ini:
data:[<MIME-type>][;charset=<encoding>][;base64],<data>
Dalam contoh yang diberikan, jenis MIME ialah "imej/png," dan ";base64" menunjukkan bahawa komponen data adalah dikodkan Base64.
Untuk mengekstrak data yang dikodkan Base64, alih keluar awalan sehingga dan sertakan koma:
input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA" b64data := input[strings.IndexByte(input, ',')+1:]
Sekarang, anda boleh menyahkod rentetan Base64:
data, err := base64.StdEncoding.DecodeString(b64data) if err != nil { fmt.Println("error:", err) }
Proses ini akan berjaya menyahkod data imej tanpa menemui ralat "data base64 tidak sah pada input byte 4".
Atas ialah kandungan terperinci Mengapa base64.StdEncoding.DecodeString(str) Gagal dengan Ralat 'data base64 tidak sah pada input byte 4'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!