如何解码包含反斜杠编码的 Unicode 字符的字符串?

huangapple go评论121阅读模式
英文:

How to decode a string containing backslash-encoded Unicode characters?

问题

我可以帮你翻译以下内容:

我有一个存储为 a 的字符串:

  1. a := `M\u00fcnchen`
  2. fmt.Println(a) // 输出"M\u00fcnchen"
  3. b := "M\u00fcnchen"
  4. fmt.Println(b) // 输出"München"

有没有办法将 a 转换为 b

英文:

I have a string stored as a:

  1. a := `M\u00fcnchen`
  2. fmt.Println(a) // prints "M\u00fcnchen"
  3. b := "M\u00fcnchen"
  4. fmt.Println(b) // prints "München"

Is there a way I can convert a into b ?

答案1

得分: 11

你可以使用strconv.Unquote来实现这个功能:

  1. u := `M\u00fcnchen`
  2. s, err := strconv.Unquote(`"` + u + `"`)
  3. if err != nil {
  4. // 处理错误
  5. }
  6. fmt.Printf("%v\n", s)

输出结果为:

  1. München
英文:

You can use strconv.Unquote for this:

  1. u := `M\u00fcnchen`
  2. s, err := strconv.Unquote(`"` + u + `"`)
  3. if err != nil {
  4. // ..
  5. }
  6. fmt.Printf("%v\n", s)

Outputs:

  1. München

huangapple
  • 本文由 发表于 2016年2月20日 12:26:25
  • 转载请务必保留本文链接:https://go.coder-hub.com/35519106.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定