string - 字符串中的Golang rune 或如何转换?

标签 string go decode rune

我有一个包含以下文本的字符串。

\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示例。

已编辑以回答已编辑的问题。

关于string - 字符串中的Golang rune 或如何转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48020373/

相关文章:

javascript - 在文件上传预览中减小图像的文件大小,而不影响要上传的文件的大小 - JavaScript

video - 如何解码从 yuv444p 帧编码的 h264 视频?

ios - 类型 'String' 不符合协议(protocol) 'NSCopying' 向下转换 AnyObject 到 String 时出错

c++ - go和c++的map性能比较

sockets - 如何解码Websocket数据包?

go - Zap记录器源代码行

pointers - 对指针 slice 的反射(reflection)

string - 查找每行中的单词数

string - 如何在 VBScript 中将 "Double"转换为格式化字符串

javascript - Angular .js : replacing text