字符串中的Golang符文或如何转换?
Golang runes in string or how to convert?
我有一个包含以下文本的字符串。
\xD0\xA4\xD0\xB5\xD0\xB4\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB2
这不是文字。在字符串中,它存储为像这样的单独字符 ['\','x','D','0','\','x','A','4',...]
如何将此字符串转换为普通字符?
Go 接受十六进制 rune literals。
因此您可以将输入用作常规字符串:
fmt.Println("\xD0\xA4\xD0\xB5\xD0\xB4\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB2")
Федоров
Playground 示例。
如果您从实际字符串 ["\" "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)
Playground 示例。
已编辑以回答已编辑的问题。
我有一个包含以下文本的字符串。
\xD0\xA4\xD0\xB5\xD0\xB4\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB2
这不是文字。在字符串中,它存储为像这样的单独字符 ['\','x','D','0','\','x','A','4',...]
如何将此字符串转换为普通字符?
Go 接受十六进制 rune literals。
因此您可以将输入用作常规字符串:
fmt.Println("\xD0\xA4\xD0\xB5\xD0\xB4\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB2")
Федоров
Playground 示例。
如果您从实际字符串 ["\" "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)
Playground 示例。
已编辑以回答已编辑的问题。