将字符串转换为字符串

时间:2018-07-28 20:03:20

标签: string go command-line converter

请说。 为什么代码中的字符串“ \ 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”?

1 个答案:

答案 0 :(得分:1)

确实有一个标准软件包和一个函数。 strconv.Unquote

  

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

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

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

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