Encoding in my Lopy4
- 
					
					
					
					
I'm using my Lopy4 to send some data to my server using the
ustructlibrary. Since here all ok, the data arrives to my server without problems, with the correct values.But furthermore I want to observe this data in my Atom's console. Here comes the problem, this is what I see,
Payload: �@A��YD)\�Dinstead of06 a9 13 40 41 f6 f0 59 44 29 5c 86 44 00 00 00 00or something similar with the hexa format\x.This is my code how I convert float values to binary data.
import struct valores = ['12.0048', '871.765', '1074.88', '0'] payload = struct.pack('B', 6) for val in valores: val = struct.pack('f', float(val)) payload = payload + valI tried with all of this codecs to print my data but neither works
codecs = ['ascii', 'big5', 'big5hkscs', 'cp037', 'cp273', 'cp424', 'cp437', 'cp500', 'cp720', 'cp737', 'cp775', 'cp850', 'cp852', 'cp855', 'cp856', 'cp857', 'cp858', 'cp860', 'cp861', 'cp862', 'cp863', 'cp864', 'cp865', 'cp866', 'cp869', 'cp874', 'cp875', 'cp932', 'cp949', 'cp950', 'cp1006', 'cp1026', 'cp1125', 'cp1140', 'cp1250', 'cp1251', 'cp1252', 'cp1253', 'cp1254', 'cp1255', 'cp1256', 'cp1257', 'cp1258', 'euc_jp', 'euc_jis_2004', 'euc_jisx0213', 'euc_kr', 'gb2312', 'gbk', 'gb18030', 'hz', 'iso2022_jp', 'iso2022_jp_1', 'iso2022_jp_2', 'iso2022_jp_2004', 'iso2022_jp_3', 'iso2022_jp_ext', 'iso2022_kr', 'latin_1', 'iso8859_2', 'iso8859_3', 'iso8859_4', 'iso8859_5', 'iso8859_6', 'iso8859_7', 'iso8859_8', 'iso8859_9', 'iso8859_10', 'iso8859_11', 'iso8859_13', 'iso8859_14', 'iso8859_15', 'iso8859_16', 'johab', 'koi8_r', 'koi8_t', 'koi8_u', 'kz1048', 'mac_cyrillic', 'mac_greek', 'mac_iceland', 'mac_latin2', 'mac_roman', 'mac_turkish', 'ptcp154', 'shift_jis', 'shift_jis_2004', 'shift_jisx0213', 'utf_32', 'utf_32_be', 'utf_32_le', 'utf_16', 'utf_16_be', 'utf_16_le', 'utf_7', 'utf_8', 'utf_8_sig'] for code in codecs: myString = '\t\t· PAYLOAD: ' + str(payload, code) + '\n' print(code,'>',myString)My question, how can I see correctly my hexa payload???
Thank you very much
 - 
					
					
					
					
@g0hww I was thinking more in something about decoding, but is a good solution. Thanks!
 - 
					
					
					
					
Does binascii.hexlify() do what you want?
 - 
					
					
					
					
@kjm mmm it's true, we saw it different because I save the results in a json file and when LoRa time it's ok (to avoid send to much messages) I read this json and send it. Just at this time is when I want to observe it.
Even so, you are having the same problem as me, is not printing with the correct encoding.
I want to see
b'\x06\xa9\x13\x40\x41\xf6\xf0\x59\x44\x29\x5c\x86\x44\x00\x00\x00\x00'
 - 
					
					
					
					
valores = ['12.0048', '871.765', '1074.88', '0'] payload = struct.pack('B', 6) for val in valores: val = struct.pack('f', float(val)) payload = payload + val print(payload)gives
b'\x06\xa9\x13@A\xf6\xf0YD)\\\x86D\x00\x00\x00\x00'on my lopy