Tag: hex

在Node.js(Javascript)中将hex转换为文本(ASCII)或JSON对象

我正在从硬件接收hex,并尝试使用Node.js(Javascript)将其转换为json对象。 收到的数据 50 4F 53 54 20 2F 77 69 66 69 20 48 54 54 50 2F 31 2E 31 0D 0A 48 6F 73 74 3A 20 35 32 2E 31 35 2E 36 34 2E 33 34 3A 38 30 38 30 0D 0A 43 6F 6E 74 65 6E 74 2D […]

将string转换为js中的hex

即时通讯使用node.js和我有一个string,我试图将其转换为hex。 这是我正在使用的function: function toHex(str) { var hex = ''; var i = 0; while(str.length > i) { hex += ''+str.charCodeAt(i).toString(16); i++; } return hex; } 这就是我想要的: console.log('Payload: ' + toHex(decryptedPayload)); 但是,当它运行我得到这个错误: hex += ''+str.charCodeAt(i).toString(16); ^ TypeError: undefined is not a function at toHex (C:\Users\Office\Desktop\luigi-master\lib\middleware.js:131:17) at Middleware._transform (C:\Users\Office\Desktop\luigi-master\lib\middleware.js:161:29) at Middleware.Transform._read (_stream_transform.js:179:10) at Middleware.Transform._write (_stream_transform.js:167:12) at doWrite […]

在JavaScript / NodeJS中压缩hexstring

我的应用程序生成链接,其中包含hexstring,如: 37c1fbcabbc31f2f8d2ad31ceb91cd8d0d189ca5963dc6d353188d3d5e75b8b3e401d4e74e9b3e02efbff0792cda5c4620cb3b1f84aeb47b8d2225cd40e761a5 。 我真的希望缩短它们,比如在Ruby / Rails中压缩hexstring的Ruby解决scheme。 有没有办法在JavaScript / NodeJS做到这一点?

节点fs.readstream()输出<缓冲区3c 3f 78 6d 6c …>而不是可读数据

我在Node Js中读取一个大的XML文件(〜1.5gb)。 我正在尝试使用大量数据进行stream式处理,但是我发现很难理解文档。 我目前的简单代码是: var fs = require('fs'); var stream = fs.createReadStream('xml/bigxmlfile.xml'); stream.on('data', function(chunk){ console.log(chunk) }); 控制台给出了一堆bufferhex(我认为)代码是这样的: <Buffer 65 61 6e 2d 63 75 74 20 67 72 69 64 20 6c 69 6e 65 73 20 74 68 65 20 73 70 72 65 61 64 20 63 6f 6c 6c 61 72 20 […]

如何使用没有hex_id的MongoDB查找

我在数据库中用_id: "AAE45/0RQfm/VUrywfb1Gw=="查找logging很麻烦_id: "AAE45/0RQfm/VUrywfb1Gw==" (例如db.collection.find( {_id: new BinData(3, "AAE45/0RQfm/VUrywfb1Gw==") }) )。 它在mongo控制台中使用BinData转换器工作正常,但拒绝在JavaScript文件(我使用node.js)内工作,即使我已经安装了BinData npm和“需要”它。 我也尝试过Binary()函数,但它一直告诉我它需要是hex或12字节的二进制或其他东西。 .hex, .str和.toString()也不起作用。 我发现这个地方: {"$binary": "AAE45/0RQfm/VUrywfb1Gw==", "$type": "03"} 看起来很有前途,但我不知道如何实现它。 我希望这是有道理的。 任何build议将非常感激,如果任何人有什么过程我应该遵循(如:转换为二进制,然后hex,然后使用…),这将是太棒了。

缓冲区返回值和32位无符号整数

我有一个类的项目,我们将一个BMP文件转换为一个缓冲区,操纵缓冲区,并写入一个新的文件。 https://en.wikipedia.org/wiki/BMP_file_format 前两个字节在转换为utf-8时使用返回字符“BM” buffer.toString('utf-8', 0, 2); 当然,八位字节“42 4d”在转换时会返回“BM”。 在类中,我们被告知: buffer.readUInt32LE(2)将返回文件的大小(根据文件头)。 在这种情况下,它是4个八位字节:“66 75 00 00” 使用readUInt32LE返回数字“ readUInt32LE ”,当我检查字节数时就足够了,情况就是如此。 我想弄清楚的是,为了让“66 75 00 00”变成“30054”,我需要做的一系列操作, 任何澄清将是有益的! 编辑:我需要计算在另一个方向的hex值! “75 66”而不是“66 75”。 感谢Guido 🙂