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+00A9utf8.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