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

4.1k Views Asked by At

I have a string stored as a:

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

Is there a way I can convert a into b ?

1

There are 1 best solutions below

0
On BEST ANSWER

You can use strconv.Unquote for this:

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

Outputs:

München