首頁 >後端開發 >Golang >如何在 Go 中正確讀取 UTF-16 文字文件,同時處理 BOM 和非 BOM 編碼?

如何在 Go 中正確讀取 UTF-16 文字文件,同時處理 BOM 和非 BOM 編碼?

Susan Sarandon
Susan Sarandon原創
2024-12-27 15:32:11333瀏覽

How Can I Correctly Read UTF-16 Text Files in Go, Handling Both BOM and Non-BOM Encodings?

在Go 中將UTF-16 文字檔案讀取為字串

在Go 中讀取UTF-16 文字檔案時,可能會遇到位元組被解釋為ASCII 的問題。出現這種情況是因為標準 bufio.NewReader 函數無法正確處理 unicode。

解決方案

UTF-16 with BOM

最新版本的「golang.org/x /text/encoding/unicode」引入了unicode.BOMOverride,它自動檢測並解釋BOM以正確解碼UTF-16。以下是使用 ReadFileUTF16() 的範例:

此函數將解碼帶有 BOM 的 UTF-16 檔案。

不含BOM 的UTF-16

如果您的檔案包含不包含BOM,可以使用以下程式碼:

此函數將跳過任何BOM 並將跳過任何BOM 並將將檔案讀取為UTF-16。

結論

透過使用 ReadFileUTF16() 或 ReadFileUTF16WithoutBOM(),您可以在 Go 中處理 BOM 和非 BOM UTF-16 文字文件,確保資料的準確解碼和表示。

以上是如何在 Go 中正確讀取 UTF-16 文字文件,同時處理 BOM 和非 BOM 編碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn