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

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

如何在 go 中獲取字符的 Unicode 值?

如何在 go 中獲取字符的 Unicode 值?

Go
慕妹3146593 2021-09-21 22:14:59
我嘗試在 Go 中獲取字符串字符的 unicode 值作為 Int 值。我這樣做:value = strconv.Itoa(int(([]byte(char))[0]))其中 char 包含一個帶有一個字符的字符串。這適用于許多情況。它不適用于 ?, ?, ü, ?, ?, ü 等元音變音。例如 ? 的結果是 65,這與 A 的結果相同。我怎樣才能做到這一點?補充:我有兩個問題。第一個是通過以下任何答案解決的。第二個有點棘手。我的輸入不是 Go 規(guī)范化的 UTF-8 代碼,例如變音符號由兩個字符而不是一個字符表示。正如ANisus所說,解決方案可以在golang.org/x/text/unicode/norm包中找到。上面的行現(xiàn)在是兩行:rune, _ := utf8.DecodeRune(norm.NFC.Bytes([]byte(char)))value = strconv.Itoa(int(rune)) 任何使這個更短的提示都受歡迎......
查看完整描述

3 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

Go 中的“字符”類型是 ,rune它是 的別名int32,另見Rune 文字。Arune是標識 Unicode 代碼點的整數(shù)值。


在 Go 中,strings 被表示和存儲為文本的 UTF-8 編碼字節(jié)序列。循環(huán)的range形式for遍歷rune文本的s:


s := "??ü??ü世界"

for _, r := range s {

    fmt.Printf("%c - %d\n", r, r)

}

輸出:


? - 228

? - 246

ü - 252

? - 196

? - 214

ü - 220

世 - 19990

界 - 30028

在Go Playground上試一試。


如果您想了解有關該主題的更多信息,請閱讀此博客文章:


Go 中的字符串、字節(jié)、符文和字符


查看完整回答
反對 回復 2021-09-21
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

你可以使用這個unicode/utf8包


rune,_:=utf8.DecodeRuneInString("?")

fmt.Println(rune)


查看完整回答
反對 回復 2021-09-21
  • 3 回答
  • 0 關注
  • 571 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號