【问题标题】:Type Eroor :message_str.split is not a function类型错误:消息 str.split 不是函数
【发布时间】:2019-06-27 14:15:57
【问题描述】:

我的 message_str 包含 HexaDecimal 值的缓冲区,我正在尝试将字符串拆分为数组。

function mqtt_messsageReceived(topic, message_str, packet) 
{
    console.log("message to string", message_str);
    insert_message(topic, message_str, packet);
};
function insert_message(topic, message_str, packet) 
{
    var message_arr = extract_string(message_str); //split a string into an array
    console.log(message_arr);
};  
function extract_string(message_str) 
{
var message_arr = message_str.split(" "); //convert to array    
return message_arr;
};  

我想要这样的输出, [86,a1,76,a7,31,...][message_str 如图所示]1

【问题讨论】:

  • 听起来message_str 不是字符串。
  • 它是一个 HexaDecimal 值的缓冲区,存储在 message_str 变量中。该值来自 MQTT Broker var mqtt = require('mqtt'); var 主题 = '/test'; //订阅测试主题 var Broker_URL = 'mqtt:// broker.hivemq.com'; var client = mqtt.connect(Broker_URL, options); client.on('message', mqtt_messsageReceived);

标签: javascript node.js json


【解决方案1】:

直接替换

var message_arr = message_str.split(" ");

var message_arr =message_str.toString('hex').match(/.{1,2}/g);

享受:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 2016-02-26
    • 2013-04-01
    • 2016-03-06
    • 2021-12-16
    相关资源
    最近更新 更多