将  (或 0xAO)替换为字符串中的空格

Nat*_*han 3 go

我正在使用 Go 和包解析 HTML 文档golang.org/x/net/html。当我提取某些节点中的文本字段时,我想&nbsp用一个简单的空格替换所有出现的 。

\n

我的谷歌搜索显示,那&nbsp就是 unicode 0xA0,所以我这样做了:

\n
strings.ReplaceAll(node.Data, "\\xA0", " ")\n
Run Code Online (Sandbox Code Playgroud)\n

但生成的字符串似乎包含一些未知的字节(当我打印它时,它打印\xef\xbf\xbd)。

\n

我究竟做错了什么?

\n

Cer*_*món 9

Unicode 代码点 0xA0 是 UTF-8 编码为字节 [0xc2, 0xa0],而不是问题中假设的单字节 0xa0。

用于"\u00a0"获取不间断空格的 UTF-8 编码。

strings.ReplaceAll(node.Data, "\u00a0", " ")
Run Code Online (Sandbox Code Playgroud)