Node-RED 二进制数据解码成中文 GB18030:使用 iconv-lite 库
在 Node-RED 中,您可以使用 `iconv-lite` 库来对二进制数据进行解码。下面是一个使用 `iconv-lite` 库解码二进制数据的示例方法:\n\n1. 首先,安装 `iconv-lite` 库:\n\nshell\nnpm install iconv-lite\n\n\n2. 在 Node-RED 中创建一个自定义函数节点,并将以下代码添加到函数节点的代码编辑器中:\n\njavascript\n// 引入 iconv-lite 库\nconst iconv = require('iconv-lite');\n\n// 定义解码函数\nfunction decodeGB18030(msg) {\n // 将二进制数据转换为 Buffer 对象\n const buffer = Buffer.from(msg.payload);\n\n // 使用 iconv-lite 库将 Buffer 对象解码为中文字符\n const decodedString = iconv.decode(buffer, 'gb18030');\n\n // 将解码后的字符串存储在 msg.payload 中\n msg.payload = decodedString;\n\n // 返回修改后的 msg 对象\n return msg;\n}\n\n// 将解码函数导出\nmodule.exports = decodeGB18030;\n\n\n3. 在函数节点的输入端口连接一个二进制数据源(例如 MQTT 节点或文件读取节点),并将函数节点的输出端口连接到后续的处理节点。\n\n4. 部署和运行 Node-RED 流程。\n\n当有二进制数据输入到函数节点时,它将使用 `iconv-lite` 库将其解码为中文 GB18030 字符,并将解码后的字符串存储在 `msg.payload` 中,然后将其传递给下一个节点进行处理。\n\n请注意,`iconv-lite` 库支持多种字符编码,可以根据需要进行调整。
原文地址: https://www.cveoy.top/t/topic/pSx3 著作权归作者所有。请勿转载和采集!