将字符串转换为字符串

markgenuine:

请说。为什么代码中的字符串“ \ xF0 \ x9F \ x98 \ x81”与参数命令行中的“ \ xF0 \ x9F \ x98 \ x81”不同?

func main() {

    text1 := "\xF0\x9F\x98\x81"
    text2 := os.Args[1]
}

如果len(text1),则长度字符串“ text1” = 4,“ text2” = 16。我如何将“ text2”转换为“ text1”?

叶蜂

确实有一个标准的程序包和功能。 strconv.Unquote

Unquote将s解释为单引号,双引号或反引号Go字符串文字,并返回s引用的字符串值。(如果s是单引号,则它将是Go字符文字; Unquote返回相应的单字符字符串。)

注意,您需要引用输入stirng。在您的代码中,应为:

text2 := strconv.Unquote(`"`+os.Args[1]+`"`)

游乐场示例:https : //play.golang.org/p/u2yU3VQHhXO

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章