從Go 中的字串中刪除無效的UTF-8 字元
當嘗試使用json.Marshal 封送字串清單時,可以遇到錯誤,指示存在無效的UTF-8 字元。本文解決了這個問題,並提供了在 Go 中刪除或替換此類字元的解決方案。
在 Python 中,unicode 模組提供了 unicode.replace 和 unicode.strict 等方法來處理無效字元。然而,Go 沒有直接的等價物。相反,它依賴於不同的方法:
在Go 1.13 中使用strings.ToValidUTF8
要從字串中刪除無效的UTF-8 字符,您可以使用字串.ToValidUTF8 函數在Go 1.13 中引入。它需要兩個參數:輸入字串和用於無效位元組的替換字元。如果替換字元是空字串,無效位元組會被默默刪除:
Using strings.Map and utf8.RuneError in Go 1.11
另一種選擇解決方案是使用strings.Map 和utf8.RuneError 。 strings.Map 將函數套用到字串中的每個符文,而 utf8.RuneError 表示無效的 UTF-8 字元。這是一個範例:
以上是如何從 Go 中的字串中刪除無效的 UTF-8 字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!