# Converting Base 64 to Hexadecimal

**URL:** https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031
**Category:** General
**Created:** [10 October 2020 04:34 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031 "2020-10-10T04:34:58Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [10 October 2020 04:34 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/1 "2020-10-10T04:34:58Z")

</div>

I want to convert a base64 value to hexadecimal in node red.Is there any way?

 ![5](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/3/a38e9dfa18d37bcd9d337dfb3eb90123be1c5a9a.png)

---

<div class="post-metadata">

### Author: ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)
#### Post date: [10 October 2020 04:47 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/2 "2020-10-10T04:47:49Z")

</div>

Use the node-red-node-base64 node

---

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [10 October 2020 05:33 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/4 "2020-10-10T05:33:32Z")

</div>

could u please tell how base64 node can help me acheive hexadecimal conversion?

---

<div class="post-metadata">

### Author: ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)
#### Post date: [10 October 2020 08:40 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/5 "2020-10-10T08:40:37Z")

</div>

The base 64 node will convert from base64 back to a buffer which is made of hex characters. When you say hex how do you want them to appear? Do you mean you just want to print them out as “xA9” etc ?

---

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [10 October 2020 14:18 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/6 "2020-10-10T14:18:16Z")

</div>

this is showing me array of values as output.what i require is base 64 to hexadecimal conversion first step.And after that hexadecimal to json conversion second step.Final Result value of temperature and humidity on gauge in form of dashboard.

Decoder function used in TTN(ThingsNetwork)  
// T1: Payload Decoder  
function Decoder(bytes, port) {  
var decoded={};  
for(i=0;i\< bytes.length;){  
//BATTERY  
if(bytes[i]==0x03){  
decoded.battery=bytes[i+2];  
i+=3;  
continue;  
}  
//TEMPERATURE  
if(bytes[i]==0x01){  
decoded.temperature=(readInt16LE(bytes.slice(i+2, i+4)))/10;  
i+=4;  
continue;  
}  
//HUMIDITY  
if(bytes[i]==0x02){  
decoded.humidity=readUInt8LE(bytes[i+2]) / 2;  
i+=3;  
continue;  
}  
}  
return decoded;  
}

function readUInt8LE(bytes) {  
return (bytes & 0xFF);  
}

function readInt8LE(bytes) {  
var ref = readUInt8LE(bytes);  
return (ref \> 0x7F) ? ref - 0x100 : ref;  
}

function readUInt16LE(bytes) {  
var value = (bytes[1] \<\< 8) + bytes[0];  
return (value & 0xFFFF);  
}

function readInt16LE(bytes) {  
var ref = readUInt16LE(bytes);  
return (ref \> 0x7FFF) ? ref - 0x10000 : ref;  
}

 ![9](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/8/28e96171966375df6c039c9765309ef3b9690193.png) ![ttn](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/7/b7e18a10e79a79eb1348cfb1b24c4dbe26704d49.png) .This payload is coming from uc11-t1 temperature sensor and uplinking to ug85 ursalink lorawan gateway.

---

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [10 October 2020 14:59 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/7 "2020-10-10T14:59:34Z")

</div>

Payload Structure For Ur Refrence  
[15|690x450](https://discourse.nodered.org/uploads/short-url/zrCNMBIwWEQgu76MDU2pkHzTrT5.png)

 ![16](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/e/defc462c23bd58f64414038bebee73686a17880c.png)

---

<div class="post-metadata">

### Author: ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)
#### Post date: [10 October 2020 15:31 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/8 "2020-10-10T15:31:15Z")

</div>

That is what the base64 node is doing

---

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [10 October 2020 15:32 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/9 "2020-10-10T15:32:38Z")

</div>

it is giving me array of values.how do i proceed further pls guide?

 ![5](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/3/a38e9dfa18d37bcd9d337dfb3eb90123be1c5a9a.png)

---

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [10 October 2020 15:33 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/10 "2020-10-10T15:33:12Z")

</div>

![9](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/8/28e96171966375df6c039c9765309ef3b9690193.png)

---

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [10 October 2020 15:33 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/11 "2020-10-10T15:33:59Z")

</div>

I know but it is not showing desired output as hexadecimal what we want

---

<div class="post-metadata">

### Author: ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)
#### Post date: [10 October 2020 15:41 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/12 "2020-10-10T15:41:14Z")

</div>

If you click on the values in the debug it will show them to you in different formats - they are as you want - you just need to feed into your decoder.

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/d/1dced0041f01117d7bf9572572aa57c02c82fa84.png)

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/5/656abc85e306391cb63f792f9c39e7a57b76a45f.png)  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/1/61b50dd3f322f3d954190e637db75aa4391cca21.png)

---

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [10 October 2020 15:51 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/14 "2020-10-10T15:51:56Z")

</div>

Here is the code for decoder function  
function Decoder(bytes, port) {  
if(bytes[0]==01){  
var temperature = (bytes[3] \<\< 8) + bytes[2];  
var humidity= bytes[6];  
return {  
temperature: temperature/10, humidity: humidity/2  
}  
}  
else{  
var power=bytes[2];  
return{  
power: power  
}  
}  
}

---

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [10 October 2020 15:55 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/15 "2020-10-10T15:55:31Z")

</div>

![15](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/f/8/f86b88ad0173e162b6d8581b1ac139f721013d5b.png)  
 ![13](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/9/49f6c70d3e443957d54608f7a5bd4337c0a10513.png)  
After pasting ur code it is showing red sign on function node that means this snippet of code is not proper.please dont close my post as it is not resolved on my end.

---

<div class="post-metadata">

### Author: ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)
#### Post date: [10 October 2020 16:44 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/16 "2020-10-10T16:44:10Z")

</div>

Here are the docs you need to help

> **[Writing Functions : Node-RED](https://nodered.org/docs/user-guide/writing-functions)**

here is the first part

```auto
var bytes = msg.payload;
if (bytes[0]==01) {
    var temperature = (bytes[3] << 8) + bytes[2];
    var humidity= bytes[6];
    return { 
        payload: {
            temperature: temperature/10, 
            humidity: humidity/2
        }
    }
}
// else {
// var power=bytes[2];
// return {
// power: power
// }
// }

return msg;

```

---

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [11 October 2020 08:51 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/17 "2020-10-11T08:51:15Z")

</div>

now it is same as your code but with a minor change in if statement.that helps in deploying

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/6/7618cd4148806d863702453e527a76865211d18d.png)

---

<div class="post-metadata">

### Author: ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)
#### Post date: [11 October 2020 08:53 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/18 "2020-10-11T08:53:08Z")

</div>

then please show what you have now got in the function as I can't see from here.  
I'm not closing this thread - I'm closing all the other ones you are opening that ask the same as this one.

---

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [11 October 2020 08:58 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/19 "2020-10-11T08:58:31Z")

</div>

ok go ahead and close but my issue will not be solved.

---

<div class="post-metadata">

### Author: ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)
#### Post date: [11 October 2020 09:00 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/20 "2020-10-11T09:00:26Z")

</div>

I'm not going to close this here - this is where we are discussing it... the function works fine as I tested it before giving it to you... please show that you have tested it as is.

---

<div class="post-metadata">

### Author: ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)
#### Post date: [11 October 2020 09:10 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/21 "2020-10-11T09:10:48Z")

</div>

Here is my complete test flow -

```auto
[{"id":"8ad0ef68.15c8","type":"mqtt in","z":"e9b4dddd.70115","name":"","topic":"bachloo.rahul@gmail.com/test/#","qos":"0","datatype":"auto","broker":"c44802ed.2f5f7","x":150,"y":760,"wires":[["e0f57bd6.3cf268"]]},{"id":"e0f57bd6.3cf268","type":"base64","z":"e9b4dddd.70115","name":"","action":"","property":"payload","x":400,"y":760,"wires":[["bebca09d.a0895","e5854f65.e7aed"]]},{"id":"92dc4345.5331f","type":"inject","z":"e9b4dddd.70115","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"AWcwAQJoaQ==","payloadType":"str","x":140,"y":800,"wires":[["e0f57bd6.3cf268"]]},{"id":"bebca09d.a0895","type":"debug","z":"e9b4dddd.70115","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":590,"y":760,"wires":[]},{"id":"e5854f65.e7aed","type":"function","z":"e9b4dddd.70115","name":"","func":"var bytes = msg.payload;\nif (bytes[0]==01) {\n var temperature = (bytes[3] << 8) + bytes[2];\n var humidity= bytes[6];\n return { \n payload: {\n temperature: temperature/10, \n humidity: humidity/2\n }\n }\n}\nelse {\n var power=bytes[2];\n return {\n payload: { power: power }\n }\n}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":400,"y":800,"wires":[["1292b759.873b89"]]},{"id":"1292b759.873b89","type":"debug","z":"e9b4dddd.70115","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":590,"y":800,"wires":[]},{"id":"c44802ed.2f5f7","type":"mqtt-broker","z":"","name":"","broker":"maqiatto.com","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

```

---

<div class="post-metadata">

### Author: ![bachloo.rahul](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@bachloo.rahul](https://discourse.nodered.org/u/bachloo.rahul)
#### Post date: [11 October 2020 09:21 UTC](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031/22 "2020-10-11T09:21:46Z")

</div>

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/2/722004a60fbbf1250460a6887129f2f235fc7da6.png)  
This is when i pasted your code it shows no output in debug window as well as red traingle sign on function node.  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/1/91da4f098da883f7de5790246efa24046717adc5.png)

[Next page](https://discourse.nodered.org/t/converting-base-64-to-hexadecimal/34031.md?page=2)
