Node.js将字符串转换为UTF-8

从我的数据库即时通讯获取以下字符串:

Johan Öbert

它应该说的是:

Johan Öbert

我试图像这样将其转换为utf-8:

nameString.toString("utf8");

但是仍然是同样的问题。

有任何想法吗?

回答:

使用npm中的utf8模块对字符串进行编码/解码。

安装:

npm install utf8

在浏览器中:

<script src="utf8.js"></script>

Node.js中:

const utf8 = require('utf8');

API:

编码:

utf8.encode(string)

将任何给定的JavaScript字符串(字符串)编码为UTF-8,并返回该字符串的UTF-8编码版本。如果输入字符串包含非标量值(即,单独的代理),则会引发错误。(如果还需要编码非标量值,请改用WTF-8。)

// U+00A9 COPYRIGHT SIGN; see http://codepoints.net/U+00A9

utf8.encode('\xA9');

// → '\xC2\xA9'

// U+10001 LINEAR B SYLLABLE B038 E; see http://codepoints.net/U+10001

utf8.encode('\uD800\uDC01');

// → '\xF0\x90\x80\x81'

解码:

utf8.decode(byteString)

将任何给定的UTF-8编码字符串(byteString)解码为UTF-8,并返回该字符串的UTF-8解码版本。当检测到格式错误的UTF-8时,它将引发错误。(如果还需要解码编码的非标量值,请改用WTF-8。)

utf8.decode('\xC2\xA9');

// → '\xA9'

utf8.decode('\xF0\x90\x80\x81');

// → '\uD800\uDC01'

// → U+10001 LINEAR B SYLLABLE B038 E

资源资源

以上是 Node.js将字符串转换为UTF-8 的全部内容, 来源链接: utcz.com/qa/434862.html

回到顶部