第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從字符串中刪除無效的 UTF-8 字符

從字符串中刪除無效的 UTF-8 字符

Go
明月笑刀無情 2021-07-01 10:00:31
我在字符串列表的 json.Marshal 上得到了這個:json: invalid UTF-8 in string: "...ole\xc5\"原因很明顯,但是如何在 Go 中刪除/替換這些字符串?我一直在閱讀 docstunicode和unicode/utf8包,似乎沒有明顯/快速的方法來做到這一點。例如,在 Python 中,您有方法可以刪除無效字符,替換為指定字符或嚴格設置,這會在無效字符上引發(fā)異常。如何在 Go 中做等效的事情?更新:我的意思是得到異常的原因(恐慌?) - json.Marshal 期望是有效的 UTF-8 字符串中的非法字符。(非法字節(jié)序列如何進入該字符串并不重要,通常的方式 - 錯誤、文件損壞、其他不符合 unicode 的程序等)
查看完整描述

2 回答

?
白衣染霜花

TA貢獻1796條經(jīng)驗 獲得超10個贊

在 Go 1.13+ 中,你可以這樣做:


strings.ToValidUTF8("a\xc5z", "")

在 Go 1.11+ 中,使用Map 函數(shù)和utf8.RuneError也很容易做到這一點,如下所示:


fixUtf := func(r rune) rune {

    if r == utf8.RuneError {

        return -1

    }

    return r

}


fmt.Println(strings.Map(fixUtf, "a\xc5z"))

fmt.Println(strings.Map(fixUtf, "posic?o"))

輸出:


az

posico


查看完整回答
反對 回復 2021-07-12
  • 2 回答
  • 0 關(guān)注
  • 451 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號