在Go 中將Unicode 代碼點轉換為文字字元
假設您遇到一個帶有如下Unicode 代碼點的文字檔:
\u0053 \u0075 \u006E
您的目標是將這些程式碼點轉換為其對應的文字字元:
S u n
您嘗試使用ioutil.ReadFile("data.txt"),但它輸出的是代碼點而不是字元。
解決方案:利用strconv.Unquote() 和strconv.UnquoteChar()
要解決您的問題,您可以使用strconv.Unquote() 或strconv. UnquoteChar()。但是,請注意strconv.Unquote() 要求輸入字串用引號引起來:
lines := []string{ `\u0053`, `\u0075`, `\u006E`, } for i, v := range lines { var err error lines[i], err = strconv.Unquote(`"` + v + `"`) if err != nil { fmt.Println(err) } }
或者,如果要取消引用單個符文或不帶引號的字串,可以使用strconv.UnquoteChar( ) :
runes := []string{ `\u0053`, `\u0075`, `\u006E`, } for _, v := range runes { value, _, _, err := strconv.UnquoteChar(v, 0) if err != nil { fmt.Println(err) } fmt.Printf("%c\n", value) }
這些方法將使您能夠將unicode 代碼點轉換為Go中的文字字符,無論它們是用引號括起來還是不是。
以上是如何在 Go 中將 Unicode 代碼點轉換為文字字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!