Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包含unicode的golang转换字节数组_Go - Fatal编程技术网

包含unicode的golang转换字节数组

包含unicode的golang转换字节数组,go,Go,它会产生如下结果: type MyStruct struct { Value json.RawMessage `json:"value"` } var resp *http.Response if resp, err = http.DefaultClient.Do(req); err == nil { if resp.StatusCode == 200 { var buffer []byte if buffer, err = ioutil.Re

它会产生如下结果:

type MyStruct struct {
    Value json.RawMessage `json:"value"`
}

var resp *http.Response

if resp, err = http.DefaultClient.Do(req); err == nil {
    if resp.StatusCode == 200 {
        var buffer []byte
        if buffer, err = ioutil.ReadAll(resp.Body); err == nil {

            mystruct = &MyStruct{}
            err = json.Unmarshal(buffer, mystruct)

        }
    }
}

fmt.Println(string(mystruct.Value))
文件地址:

说: 在对带引号的字符串进行解组时,无效的UTF-8或无效的UTF-16代理项对不会被视为错误。相反,它们被Unicode替换字符U+FFFD替换


我觉得这就是发生的事情。我只是看不到答案,因为我对围棋的经验很少,而且我很累。

您决定使用
json.RawMessage
来阻止对json消息中带有key
value
的值进行解析

字符串literal
“\u003chtml\u003e”
的有效json表示形式

既然您告诉
json.Unmarshal
不要解析这个部分,它就不会解析它,而是按原样返回给您

如果要将其解析为UTF-8字符串,请将
MyStruct
的定义更改为:

   \u003Chead>\n  \u003C/head>\n  \u003Cbody>

您决定使用
json.RawMessage
来阻止对json消息中带有键
value
的值进行解析

字符串literal
“\u003chtml\u003e”
的有效json表示形式

既然您告诉
json.Unmarshal
不要解析这个部分,它就不会解析它,而是按原样返回给您

如果要将其解析为UTF-8字符串,请将
MyStruct
的定义更改为:

   \u003Chead>\n  \u003C/head>\n  \u003Cbody>

有一种方法可以将中的转义unicode字符转换为有效的UTF8字符,而无需对其进行解组。(我必须处理这个问题,因为我的主要语言是韩语。)

可以使用和进行转换

type MyStruct struct {
    Value string `json:"value"`
}


希望这有帮助:有一种方法可以将中的转义unicode字符转换为有效的UTF8字符,而无需对其进行解组。(我必须处理这个问题,因为我的主要语言是韩语。)

可以使用和进行转换

type MyStruct struct {
    Value string `json:"value"`
}


希望这有帮助:D

请提供示例代码,演示您所看到的输出以及您纠正意外行为的尝试。能否准确显示[]字节片中的内容?文字值
\u003C
应该是
我编辑了一点帖子。希望这能提供更多的背景。THX为什么在那里使用
json.RawMessage
?如果是json编码器编码的消息,那么您可能需要json解码器对其进行解码。a
json.RawMessage
尚未被解组。您需要将其解组为string(),或者自己对unicode进行解组。请提供示例代码,演示您看到的输出以及您纠正意外行为的尝试。能否准确显示[]字节片中的内容?文字值
\u003C
应该是
我编辑了一点帖子。希望这能提供更多的背景。THX为什么在那里使用
json.RawMessage
?如果是json编码器编码的消息,那么您可能需要json解码器对其进行解码。a
json.RawMessage
尚未被解组。您要么需要将其解组为string(),要么自己对unicode进行解组。