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

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

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

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

有什么方法可以将 a 转换为 b 吗?

您可以使用 strconv.Unquote 这样做:

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

输出:

München