javascript - 浏览器和服务器 JavaScript 中的十六进制字符串输出不同

标签 javascript node.js

我想用十六进制字符串包装一系列字符,用这个小脚本:

var resultBuffer = [];
var sourceBuffer = "004CS01".split('');

resultBuffer.push("\\x" + "02");

for (var i = 0; i < sourceBuffer.length; i++) {
    resultBuffer.push(sourceBuffer[i]);
}

resultBuffer.push("\\x" + "03");
resultBuffer.push("\\x" + "62");
console.log(resultBuffer);   

我面临一个问题,即同一个脚本会创建不同的输出。这是来自浏览器:Fiddle http://jsfiddle.net/m5sUD/

["\x02", "0", "0", "4", "C", "S", "0", "1", "\x03", "\x62"] 

这来自 Nodejs 服务器(请参阅 http://runnable.com/me/U1NzLLgIj8pXRQq4 ):

[ '\\x02', '0', '0', '4', 'C', 'S', '0', '1', '\\x03', '\\x62' ]

为什么不一样?我需要服务器上的输出与浏览器中的输出一样。

最佳答案

浏览器和node.js的resultBuffer值是相同的。如果打印 resultBuffer 中的每个值,node.js 和浏览器会打印相同的值。

尝试下面的代码

for (idx in resultBuffer) console.log(resultBuffer[idx]);

在我的电脑中,node.js 和浏览器打印以下相同的值。

\x02
0
0
4
C
S
0
1
\x03
\x62

这只是 Node.js 和浏览器中数组值的表示方法的问题。值相同。

关于javascript - 浏览器和服务器 JavaScript 中的十六进制字符串输出不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23179526/

相关文章:

javascript - MarkerClusterer 是集群中的标记?

javascript - 无法使用 JS 设置 CSS 规则

node.js - Heroku 和 Socket.io,400 个错误请求和许多断开连接

node.js - 你可以使用 Hapi.JS 作为微服务框架吗?

node.js - node-postgres UTF 密码错误

node.js - MongoDB - 如何通过find().count()传递数据?

javascript - 将无符号字节值转换为从 -1 到 1 的 float

javascript - 如何改变 body 等级

javascript - chrome 中如果 URL 包含 '#' 则被 chop

Javascript 通过 bool 属性从 Neo4j 过滤器中获取数据