dragam0217 2014-10-13 01:50
浏览 367
已采纳

如何在Go中将unicode字节数组转换为普通字符串

I'm getting the byte array from unix socket and try to print as a string. I just string(bytes) and get the following string.

{\"Created\":1410263175,\"Id\":\"f4e36130333537c3725e212f78d603742cf3da4b738272f7232338b0d61fa4fb\",\"ParentId\":\"a8a806a76e3e620a6f2172e401847beb4535b072cf7e60d31e91becc3986827e\",\"RepoTags\":[\"\\u003cnone\\u003e:\\u003cnone\\u003e\"],\"Size\":0,\"VirtualSize\":1260903901}
,

How can I remove the escape char \ and convert unicode char \u003 into normal string?

  • 写回答

1条回答 默认 最新

  • douyou1857 2014-10-13 02:21
    关注

    This looks like a JSON string with \u escapes per the JSON specification. The JSON decoder will take care of unescaping the strings.

    The code:

    s := "{\"Created\":1410263175,\"Id\":\"f4e36130333537c3725e212f78d603742cf3da4b738272f7232338b0d61fa4fb\",\"ParentId\":\"a8a806a76e3e620a6f2172e401847beb4535b072cf7e60d31e91becc3986827e\",\"RepoTags\":[\"\\u003cnone\\u003e:\\u003cnone\\u003e\"],\"Size\":0,\"VirtualSize\":1260903901}
    "
    var m map[string]interface{}
    if err := json.Unmarshal([]byte(s), &m); err != nil {
        log.Fatal(err)
    }
    fmt.Printf("%#v", m)
    

    prints the following (minus the white space that I added for readability):

    map[string]interface {}{
         "Created":1.410263175e+09, 
         "Id":"f4e36130333537c3725e212f78d603742cf3da4b738272f7232338b0d61fa4fb",
         "ParentId":"a8a806a76e3e620a6f2172e401847beb4535b072cf7e60d31e91becc3986827e", 
         "RepoTags":[]interface {}{"<none>:<none>"}, 
         "Size":0, 
         "VirtualSize":1.260903901e+09}
    

    <kbd>playground</kbd>

    The \u escape is not created when converting bytes to a string in Go. It's part of the byte sequence generated by a JSON encoder. The string conversion operator string(byteSlice) converts these bytes to a string as is.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值