Pengecualian: Data Base64 Haram pada Input Byte 4
Apabila cuba menyahkod rentetan berkod base64 menggunakan base64.StdEncoding.DecodeString, Ralat "data base64 tidak sah pada input byte 4" mungkin berlaku. Ralat ini berpunca daripada pengendalian skim URI Data yang tidak betul.
Skim URI data mengekod data sebaris dalam halaman web, menyerupai sumber luaran. Formatnya menyerupai:
data:[<MIME-type>][;charset=<encoding>][;base64],<data>
di mana:
Untuk membetulkan isu dalam senario anda, anda mesti mengekstrak data yang dikodkan base64 daripada skema URI Data sebelum menyahkod. Untuk mencapai ini, keluarkan awalan sehingga koma:
input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA" b64data := input[strings.IndexByte(input, ',') + 1:]
Kini anda mempunyai data yang dikodkan base64, yang boleh dinyahkodkan dengan jayanya:
data, err := base64.StdEncoding.DecodeString(b64data) if err != nil { fmt.Println("error:", err) } fmt.Println(data)
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Data Base64 Tidak Sah pada Input Byte 4' Semasa Menyahkod Rentetan Base64?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!