Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点js解析外来字符_Node.js_Character_Translate - Fatal编程技术网

Node.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)

我有一个节点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), 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');