Голанг в рунах в виде строки или как конвертировать?
У меня есть строка, которая содержит следующий текст.
\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)
Пример детской площадки.
Отредактировано, чтобы ответить на отредактированный вопрос.