Node.js 节点js解析外来字符
我有一个节点js脚本,它从服务器获取一些数据,并获取可读字符串 我用于将十六进制转换为字符串的函数如下:Node.js 节点js解析外来字符,node.js,character,translate,Node.js,Character,Translate,我有一个节点js脚本,它从服务器获取一些数据,并获取可读字符串 我用于将十六进制转换为字符串的函数如下: function hex2a(hexx) { var hex = hexx.toString();//force conversion var str = ''; for (var i = 0; i < hex.length; i += 2) str += String.fromCharCode(parseInt(hex.substr(i, 2)
function hex2a(hexx) {
var hex = hexx.toString();//force conversion
var str = '';
for (var i = 0; i < hex.length; i += 2)
str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
return str;
}
函数hex2a(hexx){
var hex=hexx.toString();//强制转换
var-str='';
对于(变量i=0;i
这适用于大多数字符串,但当涉及到外国字母时,我无法让它工作
例如:
以下是:
是我希望在console.log cmd窗口中显示的字符串
用十六进制表示如下(显然…):
D9 87 D9 86 DA AF 20 D8 B3 D9 88 D8 A7 D8 B1 5B
在cmd中输出以下内容:
Ù
我如何才能让它工作,以便它向我显示正确的输出,即图中所示的输出?这在我看来像UTF-8 一种方法是使用
\u
对每个字符进行转义,如下所示,console.log('\u00d9\u0087\u00d9')代码>
在node的版本中.12
还有一些非常酷的模块可以帮你实现这一点,看看吧
我是否必须更改所有的console.log,或者在函数中是否有这样做的方法?
//from docs
// → '\xA9'
utf8.decode('\xF0\x90\x80\x81');