Go を使用した ISO-8859-1 でエンコードされた XML のアンマーシャリング
Go の xml パッケージにある人気のある Unmarshal 関数は、XML 入力の場合には困難になる可能性があります。 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 入力をアンマーシャルします。以上がGo で ISO-8859-1 でエンコードされた XML をアンマーシャルするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。