ArduinoJson deserializeMsgPack Failure

Hi,

I have JSON data that is sent via MQTT from AWS and I'm using ArduinoJson to parse this and it works fine. But within this data is MessagePack data which I'm having difficulty parsing. Here's the full code I'm using:

StaticJsonDocument<1024> doc;
StaticJsonDocument<70> doc2;
DeserializationError error;

  while (mqttClient.available()) {
    error = deserializeJson(doc, mqttClient);
    if (error) {
      Serial.print(F("deserializeJson() failed: "));
      Serial.println(error.c_str());
      return;
    }
  }
  
  const char* payload_raw = doc["payload_raw"];
  //const char payload_raw[] = "hKF0ykHD/T+haMpCObmwoXDKQswn3aFsykI0pSk=";
  Serial.println(payload_raw);
  
  error = deserializeMsgPack(doc2, payload_raw);
  if (error) {
    Serial.print(F("deserializeMsgPack() failed: "));
    Serial.println(error.c_str());
    return;
  }
  
  float sensor_t = doc2["t"];
  float sensor_l = doc2["l"];
  sprintf(write_text, "%f :: %f", sensor_t, sensor_l);
  Serial.println(write_text);

And the output is:

hKF0ykHD/T+haMpCObmwoXDKQswn3aFsykI0pSk=
0.000000 :: 0.000000

Note that I get the same result if I set payload_raw to:

//const char* payload_raw = doc["payload_raw"];
const char payload_raw[] = "hKF0ykHD/T+haMpCObmwoXDKQswn3aFsykI0pSk=";

But I'm not sure what the issue is as my MessagePack string is correct, if I enter "hKF0ykHD/T+haMpCObmwoXDKQswn3aFsykI0pSk=" into an online converter, the output is correct.

Many thanks.