Как декодировать строку, содержащую символы Unicode, закодированные обратной косой чертой?

У меня есть строка, хранящаяся как a:

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

Есть ли способ, которым я могу преобразовать a в b?

1 ответ

Решение

Ты можешь использовать strconv.Unquote за это:

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

Выходы:

München
Другие вопросы по тегам