使用Go 解組以ISO-8859-1 編碼的XML
如果您的XML 輸入,Go 的xml 包中流行的Unmarshal 函數可能會具有挑戰性不是以UTF-8 編碼的。為了處理這類輸入,Go 需要一個 CharsetReader。
哪裡可以找到 CharsetReader?
在 Go 的最新版本(2015 年起)中,golang.org/x /net/html/charset 套件提供了必要的功能。此套件中的 NewReaderLabel 函數可以執行必要的轉換。
程式碼範例
以下程式碼片段示範如何使用NewReaderLabel 正確解組以ISO 編碼的XML 輸入-8859-1:
import ( "encoding/xml" "golang.org/x/net/html/charset" "bytes" ) var theXml = [...]byte{byte(0x3C), byte(0x3F), byte(0x78), byte(0x6D), /* ... */} reader := bytes.NewReader(theXml) decoder := xml.NewDecoder(reader) decoder.CharsetReader = charset.NewReaderLabel err := decoder.Decode(&parsed)
以上是如何在 Go 中解組 ISO-8859-1 編碼的 XML?的詳細內容。更多資訊請關注PHP中文網其他相關文章!