如何使原始 Unicode 编码内容可读?
从 Web API 请求 JSON 数据时,您可能会遇到以下原始 ASCII 内容:显示为 Unicode 转义符。当使用 bufio.ScanRunes 解析响应失败时,使用 json 包或 strconv.Unquote 等工具解码响应可以有效地将 Unicode 转义转换为可读文本。
详细说明:
问题中提供的 JSON 数据包含使用反斜杠转义表示的 Unicode 字符,例如 u5408 和u672a。要解码这些转义符并显示实际的 Unicode 字符,我们可以使用以下方法:
package main import ( "encoding/json" ) func main() { var i interface{} err := json.Unmarshal([]byte(`{"name": "\u5408\u80a5"}`), &i) fmt.Println(err, i) }
输出(在 Go Playground 上尝试):
<nil> map[name:同学]
fmt.Println(strconv.Unquote(`"\u7d20\u672a\u8c0b"`))
输出(在 Go Playground 上尝试):
素未谋
请记住,strconv.Unquote 需要要用引号括起来的字符串,使用原始字符串文字 ( ` ) 实现,以防止编译器取消引用转义本身。
以上是如何使原始 Unicode 转义 JSON 数据在 Go 中可读?的详细内容。更多信息请关注PHP中文网其他相关文章!