在Go 中讀取UTF-16 文字檔案時,可能會遇到位元組被解釋為ASCII 的問題。出現這種情況是因為標準 bufio.NewReader 函數無法正確處理 unicode。
最新版本的「golang.org/x /text/encoding/unicode」引入了unicode.BOMOverride,它自動檢測並解釋BOM以正確解碼UTF-16。以下是使用 ReadFileUTF16() 的範例:
此函數將解碼帶有 BOM 的 UTF-16 檔案。
如果您的檔案包含不包含BOM,可以使用以下程式碼:
此函數將跳過任何BOM 並將跳過任何BOM 並將將檔案讀取為UTF-16。
透過使用 ReadFileUTF16() 或 ReadFileUTF16WithoutBOM(),您可以在 Go 中處理 BOM 和非 BOM UTF-16 文字文件,確保資料的準確解碼和表示。
以上是如何在 Go 中正確讀取 UTF-16 文字文件,同時處理 BOM 和非 BOM 編碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!