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