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
-
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
-
@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' -
Does binascii.hexlify() do what you want?
-
@g0hww I was thinking more in something about decoding, but is a good solution. Thanks!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login