Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengendalikan XML Bukan UTF-8 Dikodkan dalam Go?

Bagaimana untuk Mengendalikan XML Bukan UTF-8 Dikodkan dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-12-26 03:28:15
asal
1003 orang telah melayarinya

How to Handle Non-UTF-8 Encoded XML in Go?

Mengendalikan Input XML Bukan UTF-8 dalam Go

Apabila cuba menyahmarshal input XML menggunakan fungsi Unmarshal dalam pakej xml Go, seseorang mungkin menghadapi masalah jika input tidak dikodkan dalam UTF-8. Untuk menangani perkara ini, CharsetReader diperlukan.

Tempat Cari CharsetReader

Nasib baik, pakej net/html Go menyediakan penyelesaian dalam bentuk charset.NewReaderLabel. Pembaca ini boleh mengendalikan penukaran input yang dikodkan bukan UTF-8 kepada UTF-8.

Penyelesaian Kemas Kini untuk 2015 dan Seterusnya

Dalam versi terdahulu Go, a CharsetReader tersuai terpaksa dilaksanakan. Walau bagaimanapun, versi Go yang lebih baharu menyediakan penyelesaian yang lebih mudah menggunakan charset.NewReaderLabel. Berikut ialah coretan kod yang dikemas kini:

import (
    "encoding/xml"
    "bytes"
    "golang.org/x/net/html/charset"
)

// ...
reader := bytes.NewReader(theXml)
decoder := xml.NewDecoder(reader)
decoder.CharsetReader = charset.NewReaderLabel
err = decoder.Decode(&parsed)
Salin selepas log masuk

Dengan menggunakan charset.NewReaderLabel sebagai CharsetReader, fungsi Unmarshal kini boleh berjaya mengendalikan input XML yang dikodkan bukan UTF-8 tanpa penukaran manual atau pelaksanaan tersuai.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan XML Bukan UTF-8 Dikodkan dalam Go?. 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