Rumah > pembangunan bahagian belakang > Golang > Mengapa Saya Mendapat Ralat 'Data Base64 Tidak Sah pada Input Byte 4' Semasa Menyahkod Rentetan Base64?

Mengapa Saya Mendapat Ralat 'Data Base64 Tidak Sah pada Input Byte 4' Semasa Menyahkod Rentetan Base64?

Mary-Kate Olsen
Lepaskan: 2024-11-29 16:24:10
asal
660 orang telah melayarinya

Why Am I Getting an

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>
Salin selepas log masuk

di mana:

  • menentukan jenis data (cth., imej/png)
  • menunjukkan pengekodan aksara (pilihan)
  • ";base64" menandakan pengekodan Base64
  • mengandungi data sebenar yang dikodkan dalam Base64

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:]
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan