Голанг в рунах в виде строки или как конвертировать?

У меня есть строка, которая содержит следующий текст.

\xD0\xA4\xD0\xB5\xD0\xB4\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB2

Это не буквальное. В строке он хранится как отдельные символы, как это ['\','x','D','0','\','x','A','4',...]

Как преобразовать эту строку в нормальные символы?

1 ответ

Решение

Go принимает шестнадцатеричные литералы рун.

Таким образом, вы можете использовать свой ввод как обычную строку:

fmt.Println("\xD0\xA4\xD0\xB5\xD0\xB4\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB2")
Федоров

Пример детской площадки.

Если вы начинаете с фактической строки ["\" "x" "D" "0" ...]вам нужно будет преобразовать отдельные 4-байтовые последовательности в символы. Один грязный путь:

s := `\xD0\xA4\xD0\xB5\xD0\xB4\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB2`
s2, _ := hex.DecodeString(strings.Replace(s, "\\x", "", -1))
fmt.Printf("%s", s2)

Пример детской площадки.

Отредактировано, чтобы ответить на отредактированный вопрос.

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