首頁 >後端開發 >Golang >如何從 Go 中的字串中刪除無效的 UTF-8 字元?

如何從 Go 中的字串中刪除無效的 UTF-8 字元?

Patricia Arquette
Patricia Arquette原創
2024-12-16 21:02:11527瀏覽

How to Remove Invalid UTF-8 Characters from Strings in Go?

從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中文網其他相關文章!

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