Serial.readString and added text Arduino - string
can somebody help me solve this? Arduino code.
I need to get ASCII text into string from serial read.
getdata1=Serial1.readString(); /// the variable contains text from serial ASCII, this is working for me
then how to do something like this:
String getdata1 = (getdata1 && "!OK"); // I need attach after readed text from serial another text
if I resend it as Serial2.println(getdata1 && "!OK");
I will receive 1, but not the text.
How can I get text from the variable getdata1 readed from serial and combine it with another text, then resend it as Ascii text to another serial port?
thank you
Daniel
Related
ZPL II decode Z64 (base64 and LZ77) to human readable text in Python
I am trying to put together an app in python that will split a .prn file generated from Zebra Designer software containing thousands of labels in one file into single label files. I need to extract a highlighted below field and decode it to human readable form to use as names for the single label files. I have tried to decode base64 and decompress LZ77 as per instructions here on page 1435 that states: Z64 encoding do the following: • Compress the data using the LZ77 algorithm. • Encode the compressed data using the MIME Base64 algorithm. • Calculate a CRC across the encoded data. • Add a unique header to differentiate the new format from the existing ASCII hexadecimal encoding. Below is part of the label I am trying to decode back to human readable form just the same way the printer does. ^XA ^MMT ^PW709 ^LL0472 ^LS0 ^FO256,288^GFA,04992,04992,00052,:Z64: eJztlL9uHDcQxoegExYp6MKlIr6GgayXKvwISZ9HSHnF4sTDFTbg4l7HgIAzDypUOl3K0LgipRi4ISCG45lZniMJNpIyCHYEaKXlfvzxmz8EWGKJJZZY4j8WF195b4vHBBrD8wbZHI9phDI2fSwAutEqNPoGd2EEKDBiYY0nTQSD8QWq7P68zgOsvsfNTQUwDXxVGMDhqziw5hwra1A4FtMPGIq/OxbieNze0vYOAzZNOzrcpc4RzWVljcFMuOzwwBz3+4EXHdKqEY1hzQTDpWjac9Z8q1lT/LsknFfHRhz/LrS9veVTbDNpaueoTOeO/PTmkNcuVuboQ/EAo92UJ3ZLX9gN4YnDP5SbRG9IQ8myqaxtqpw3Sptorgt0DeFhTaTaNS7QH78MJubJxIk45/qQHe1LZHByEmDN5U/1M8cH4ehUqk4jc8wxieaYZo0NhAdP1RENnctzLlYDbT7p6IhzZg7pAccGwj/QNIVvroRTdPJ7qU9yO/qPOF4VDDa0kRumiB/O2aTQYBl0FM5EeUOVnK2TZg5kjAbG0VaHWTjmfYKicYcnjm3EafS0zMlA9pjjmQNdg1llhZY54sdU4vwqnBWVif1gtMENxFGzhj7WRV3tXp/yZvecV53cm7dFf2iviXNFHLf/7q3dpNkPVpO4AKf6UN7KOaieN6znIPUxPBIqzWe7E40NzMlrM9cHqP2oZDohtwUvW9ZsuyZOnDoTsvixcRgUc7h3yN1l7fUxPE/bOPuJjdvNHsQP9XUbaQq3W+5rrtZnzp5+X3c/cWKNofmk+tA8TIMv7jeZH+LA0P24kT+K/WyjpXbTmISDND++0LzgzIGhczxrjifNwG2tMLIf95Hm1K8sboRDTofuZ6R+0zeh+xllFDAwx36k+2Bc2aZvaffKGuo31qyJo2/DyY9ozri3s7mJF8MZDa36EO9zDEys+QP6/Kxd+LnfdYXHaYQ+VrAWjcxpKJ0zz8LkYpwltCNnSv5kzWQCaTbzbA9sunNycXfpyxzKKFYuPnUAc/h6lHvnL8ps58AjjkdAud/AqDz+zVFImq9wRCOrBOPX7aTJ5sR57Mc14VBardzXJw1g0vz2SxzLGlm1uxNH7l7Xn7Mfc59D3JcXsvM3Cp7R40eAp/Ao8kPOv4p7fuI/fLrEEkssscQS/8/4BE9yVVQ=:BB36 ^PQ1,0,1,Y^XZ I tried to use python code like below just to decode this line "eJztlL9uHDcQxoegExYp(...)fLrEEkssscQS/8/4BE9yVVQ=" so i stripped the ZPL language coding which is :Z64: prefix and :BB36 CRC output. Code comes from this thread. import zlib import base64 def decode_base64_and_inflate(b64string): decoded_data = base64.b64decode(b64string) return zlib.decompress(decoded_data, 0) Output I get is as such: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00#\x00\x00\x04\x00\x00\x00\x00#\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\xf8\x7f\xff\x80\x00>\x03\xe0\xfe\x00\xf3\xf8\x07\x80?\x8e\x00\x00\x03\xfe\x00\x0f\xf8\x00\xfe\x00\x00\x0f\xff\x8f\x80>\x00\x00\xf8\x00>\xff\xf8\x00\x00\x00\x0f\xff\xf8\x7f\xff\xc0\x00?\x03\xc1\xff\x80w\xfc\x07\x80\x7f\xde\x00\x00\x07\xfe\x00?\xfc\x01\xff\x80\x00\x1f\xff\x87\xc0<\x00\x00\xf8\x00\x1e\xff\xfc\x00\x00\x00\x0f\xff\xf8\xff\xff\xc0\x00?\x83\xe3\xff\xc0\xff\xfe\x0f\x80\xff\xfe\x00\x00\x1f\xff\x80\xff\xfe\x03\xff\xc0\x00\x1f\xff\x8f\xe0>\x00\x00\xf8\x00>\xff\xfc\x00\x00\x00\x07\xff\xf0\x7f\xff\xc0\x00\x1f\x03\xc3\xff\xc0\x7f\x7f\x07\x81\xff\xfe\x00\x00\x1f\xff\x00\x7f\xfc\x07\xff\xc0\x00\x1f\xff\x07\xe0>\x00\x00|\x00<\x7f\xfc\x00\x00\x00\x0f\xff\xf8\x7f\xff\xc0\x00\x0f\x83\xe3\xef\xe0\xfe?\x0f\x83\xff\xfe\x00\x00?\xbf\x80\xfe\xbe\x0f\xef\xe0\x00\x0f\xff\x83\xf0>\x00\x00\xfc\x00>\xff\xfc\x00\x00\x00\x00\x01\xf0\x00\x0f\xc0\x00\x0f\xc3\xc3\x03\xf0|\x1f\x07\x81\xf0~\x00\x00>\x0f\x81\xf8\x04\x0f\x83\xf0\x00\x00\x0f\x81\xf0<\x00\x00|\x00|\x00|\x00\x00\x00\x00\x03\xf8\x00\x1f\x80\x00\x0f\xc3\xe2\x03\xf0\xf8\x0f\x8f\x83\xf0>\x00\x00>\x0f\xc3\xf8\x00\x0f\x83\xf0\x00\x00\x0f\x81\xf8>\x00\x00~\x00\xfc\x00\xfc\x00\x00\x00\x00\x07\xe0\x00\x1f\x00\x00\x07\xc7\xc0\x01\xf0p\x0f\x07\x83\xe0>\x00\x00|\x07\xc1\xf0\x00\x1f\x01\xf0\x00\x00\x07\x00\xf8>\x00\x00\x7fU\xfc\x00|\x00\x00\x00\x00\x0f\xe0\x00>\x00\x00\x03\xe3\xe0\x00\xf0\xf8\x0f\x0f\x83\xe0>\x00\x00|\x07\xe3\xe0\x00\x1f\x01\xf0\x00\x00\x0f\x80\xfc>\x00\x00?\xff\xf8\x00|\x00\x00\x00\x00\x1f\xc0\x00|\x00\x00\x01\xf3\xc0\x01\xf0x\x1f\x07\x83\xc0\x1e\x00\x00|\x07\xc1\xf0\x00\x1f\x01\xf0\x00\x00\x0f\x80|<\x00\x00?\xff\xf8\x00|\x00\x00\x00\x00?\x80\x00\xfc\x03\xfe\x03\xfb\xe0\x01\xf8\xff\xfe\x0f\x83\xe0>\x0f\xf8\xf8\x03\xe3\xe0\x00?\x01\xf8\xff\x80\x0f\x80\xfe>\x0f\xf8?\xff\xf8\x00\xfc\x00\x00\x00\x00?\x00\x01\xf8\x03\xff\x01\xf3\xc0\x01\xf0\x7f\xfc\x07\x83\xc0\x1e\x0f\xfc|\x03\xc1\xf0\x00\x1f\x00\xf0\xff\xc0\x07\x00>>\x0f\xfc\x1f\xff\xf0\x00|\x00\x00\x00\x00~\x00\x03\xf8\x03\xfe\x00\xff\xe0\x00\xf8\xff\xf8\x0f\x83\xe0>\x0f\xf8\xf8\x03\xe3\xf0\x00>\x00\xf8\xff\x80\x0f\x80?>\x0f\xf8?\x00\xf0\x00|\x00\x00\x00\x00|\x00\x03\xf0\x03\xff\x00\x7f\xc0\x01\xf0\x7f\xc0\x07\x83\xc0\x1e\x0f\xfcx\x03\xc1\xf8\x00\x1f\x01\xf0\xff\xc0\x0f\x80\x1f<\x0f\xfc\x1f\x01\xf0\x00|\x00\x00\x00\x00\xfc\x00\x0f\xe0\x03\xba\x00\xfb\xe0\x01\xf8\xf8\x00\x0f\x83\xe0>\x0b\xb8\xf8\x03\xe1\xfe\x88>\x00\xf8\xbb\x80\x0f\x80\x1f\xbe\x0b\xb8\x0f\x81\xe0\x00\xfc\x00\x00\x00\x01\xf8\x00\x07\xc0\x00\x00\x01\xf7\xc0\x01\xf0p\x00\x07\x83\xe0\x1e\x00\x00|\x07\xc1\xff\xfc\x1e\x00\xf0\x00\x00\x07\x00\x07\xfe\x00\x00\x0f\x01\xe0\x00|\x00\x00\x00\x03\xf8\x00\x0f\x80\x00\x00\x03\xe3\xe0\x03\xf0\xf8\x00\x0f\x83\xe0>\x00\x00\xf8\x03\xe0\xff\xfc>\x00\xf8\x00\x00\x0f\x80\x0f\xfe\x00\x00\x0f\x83\xe0\x00|\x00\x00\x00\x01\xf0\x00\x1f\x80\x00\x00\x03\xc3\xc1\x01\xf0x\x00\x07\x81\xf0~\x00\x00|\x03\xc0\x7f\xfc\x1f\x01\xf0\x00\x00\x0f\x80\x07\xfc\x00\x00\x07\x83\xc0\x00|\x00\x00\x00\x03\xf0\x00\x1f\x80\x00\x00\x0f\xe3\xe3\x8f\xe0\xfc\x0e\x0f\x83\xf8\xfe\x00\x00\xf8\x03\xe0?\xfc>\x00\xf8\x00\x00\x0f\x80\x0f\xbe\x00\x00\x0f\xc3\xe0\x00\xfc\x00\x00\x00\x03\xe0\x00\x1f\x00\x00\x00\x07\xc3\xc3\xff\xc0\x7f~\x07\x81\xff\xfe\x00\x00|\x03\xc0\x00<\x1e\x00\xf0\x00\x00\x07\x00\x1f>\x00\x00\x07\xc3\xc0\x00|\x00\x00\x00\x07\xe0\x00?\x00\x00\x00\x0f\x83\xe3\xff\xe0\x7f\xfe\x0f\x80\xff\xfe\x00\x00\xf8\x03\xe0\x00<>\x00\xf8\x00\x00\x0f\x80?>\x00\x00\x07\xe3\xc0\x00|\x00\x00\x00\x07\xc0\x00?\x00\x00\x00\x1f\x03\xc1\xff\x80?\xfc\x07\x80\xff\xde\x00\x00|\x07\xc0\x00<\x1f\x01\xf0\x00\x00\x0f\x80><\x00\x00\x03\xc7\x80\x00|\x00\x00\x00\x0f\xe0\x00?\x80\x00\x00?\x83\xe1\xff\x80?\xf8\x0f\x80\xff\xbe\x00\x00\xfc\x07\xc0\x00<?\x01\xf8\x00\x00\x0f\x80~>\x00\x00\x03\xef\x80\x00\xfc\x00\x00\x00\x07\xe0\x00?\x00\x00\x00\x04\x07\xc0|\x00\x07\xc0\x07\x80\x1c\x1e\x00\x00|\x07\xc0\x00<\x1f\x01\xf0\x00\x00\x07\x00|>\x00\x00\x03\xe7\x00\x00|\x00\x00\x00\x07\xe0\x00?\x80\x80\x00\x00\x03\xe0\x00\x00\x00\x00\x0f\x80\x00>\x00\x00~\x07\xc0\x00<\x1f\x83\xf0\x00\x00\x0f\x80\xf8>\x00\x00\x03\xef\x80\x00|\x00\x00\x00\x07\xf00?\x81\x80\x00\x00\x03\xc0\x00\x00\x00\x00\x07\x80\x00\x1e\x00\x00|\x07\x80\x00<\x1f\x81\xf0\x00\x00\x0f\x81\xf8<\x00\x00\x01\xff\x00\x00|\x00\x00\x00\x07\xfb\xf8?\xef\x80\x00\x00\x03\xe0\x00\x00\x00\x00\x0f\x80\x00>\x00\x00>\x0f\x80\xff\xfc\x0f\x83\xe0\x00\x00\x0f\x83\xf8>\x00\x00\x01\xff\x80\x00\xfc\x00\x00\x00\x03\xff\xf0\x1f\xff\xc0\x00\x00\x03\xc0\x00\x00\x00\x00\x07\x80\x00\x1e\x00\x00?\xff\x00\xff\xfc\x07\xff\xc0\x00\x00\x07\x01\xf0>\x00\x00\x01\xff\x00\x00|\x00\x00\x00\x03\xff\xf8\x1f\xff\x80\x00\x00\x03\xe0\x00\x00\x00\x00\x0f\x80\x00>\x00\x00?\xff\x00\xff\xfc\x0f\xff\xe0\x00\x00\x0f\x83\xe0>\x00\x00\x00\xfe\x00\x00|\x00\x00\x00\x01\xff\xf0\x0f\xff\x80\x00\x00\x03\xc0\x00\x00\x00\x00\x07\x80\x00\x1e\x00\x00\x1f\xfe\x00\xff\xfc\x07\xff\x80\x00\x00\x0f\x87\xc0<\x00\x00\x00\xfe\x00\x00|\x00\x00\x00\x00\xff\xe0\x0f\xfe\x00\x00\x00\x03\xe0\x00\x00\x00\x00\x0f\x80\x00>\x00\x00\x0f\xfe\x00\xff\xfc\x03\xff\x80\x00\x00\x0f\x8f\xe0>\x00\x00\x00\xfe\x00\x00\xfc\x00\x00\x00\x00\x7f\x00\x01\xf0\x00\x00\x00\x07\xc0\x00\x00\x00\x00\x07\x80\x00\x1e\x00\x00\x01\xf0\x00D#\x00|\x00\x00\x00\x05\x01\x00\x14\x00\x00\x00T\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xe0\x00\x00\x00\x00\x0f\x80\x00>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x00\x00\x00\x00\x07\x80\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' When run the original label code through Labelary viewer it shows as text with some special charactes. How do I calculate this compressed text back to human readable form?
You can try to use this method to create the PNG: https://codeutility.org/javascript-convert-zpl-base64-in-image-png-stack-overflow/
Can you remove a random string of commas and replace with one for exporting to CSV
I am using Netmiko to extract some data from Cisco Switches and Routers. I would like to put that data in to a spread sheet. For example show cdp neighbour would give me string with random white space in Port Name Status Vlan Duplex Speed Type Et0/0 connected 1 auto auto unknown Et0/1 connected 1 auto auto unknown Et0/2 connected routed auto auto unknown Et0/3 connected 1 auto auto unknown I thought i could remove it and replace with , but i get this Port,,,,,,Name,,,,,,,,,,,,,,,Status,,,,,,,Vlan,,,,,,,Duplex,,Speed,Type Et0/0,,,,,,,,,,,,,,,,,,,,,,,,connected,,,,1,,,,,,,,,,,,auto,,,auto,unknown Et0/1,,,,,,,,,,,,,,,,,,,,,,,,connected,,,,1,,,,,,,,,,,,auto,,,auto,unknown Et0/2,,,,,,,,,,,,,,,,,,,,,,,,connected,,,,routed,,,,,,,auto,,,auto,unknown Et0/3,,,,,,,,,,,,,,,,,,,,,,,,connected,,,,1,,,,,,,,,,,,auto,,,auto,unknown Any way of extracting data like the above. Ideally to go straight in to a structured table in excel (Cells and Rows) or anyway to do what i did and then replace repeating , with just one so i can export to CSV and then import to Excel. I may be the most long winded person you have ever seen because i am so new to prgramming :)
I'd go with regex matches which are more flexible. You can adapt this to your needs. I put the data in a list for testing, but you could process 1 line at a time instead. Here's the file (called mydata.txt) Et0/0,,,,,,,,,,,,,,,,,,,,,,,,connected,,,,1,,,,,,,,,,,,auto,,,auto,unknown Et0/1,,,,,,,,,,,,,,,,,,,,,,,,connected,,,,1,,,,,,,,,,,,auto,,,auto,unknown Et0/2,,,,,,,,,,,,,,,,,,,,,,,,connected,,,,routed,,,,,,,auto,,,auto,unknown Et0/3,,,,,,,,,,,,,,,,,,,,,,,,connected,,,,1,,,,,,,,,,,,auto,,,auto,unknown Here's how to read it and write the result to a csv file (mydata.csv) import re _re = re.compile('([^,]+)+') newfile = open(r'mydata.csv', 'w') with open(r'mydata.txt') as data: for line in data.readlines(): newfile.write(','.join(f for f in _re.findall(line))) newfile.close() And here is the output Et0/0,connected,1,auto,auto,unknown Et0/1,connected,1,auto,auto,unknown Et0/2,connected,routed,auto,auto,unknown Et0/3,connected,1,auto,auto,unknown Explanation: The re library allows the use of regular expressions for parsing text. So the first line imports it. The second line specifies the regular expression to extract anything that is not a comma, but it is only a specification. It doesn't actually do the extraction The third line opens the output file, with 'w' specifying that we can write to it. The next line opens the input file. The file is reference by the name 'newfile' The fourth line reads each line from the input file one at a time. The fifth line is an all-at-once operation to separate the non-comma parts of the input, join them back together separated by commas, and write the resulting string to the output file. The last line closes the output file.
I hope I didn't misunderstand you. To turn that repeating commas to one single comma, just run this code with your string s: while ",," ins s: s = s.replace(",,", ",")
Python3 utf-8 decoding/encoding problems with data hiding
I'm trying to take the text from a file (the text is Russian), hide it in an image, and then later be able to retrieve it from the image. However, I keep getting binascii.Error: Odd-length string when I try to retrieve the data from the image I hid it in. I feel like the problem may lie within what I use to hide the text. When I do someString = file.read() on the file, and print someString everything comes out fine. But when I run: file = open(<text file path>, 'r', encoding='utf-8') entireText = file.read() print(codecs.encode(entireText,'utf-8')) I get the following: b'\xd0\x9f\xd1\x80\xd0\xb8\xd0\xbf\xd0\xb5\xd0\xb2:\n\xd0\x9e\xd1\x87\xd0\xb8 \xd1\x87\xd1\x91\xd1\x80\xd0\xbd\xd1\x8b\xd0\xb5, \xd0\xbe\xd1\x87\xd0\xb8 \xd0 That is only a piece of it, but the theme is shown; it has colons, spaces, commas, and \n all throughout the 'bytes' which is what type the codecs.encode returns. If i use codecs to decode it, then I get the original text back in perfect format. if it helps, here are the functions I use to make it happen: def stringToBinary(msg): return bin(int(binascii.hexlify(msg.encode('utf-8')), 16))[2:] def binaryToString(bNum): return binascii.unhexlify('%x' % (int('0b' + bNum, 2))).decode('utf-8') If that is not enough, the entire file is here: http://pastebin.com/f541DpzS EDIT: I think I'm getting that issue because the image I'm trying to hide the text in didn't have enough pixels for me to hide the complete message, so it was trying to convery the binary number to a string without all of the bits, thus throwing binascii.Error: Odd-length string.
Python 3 - PYSerial send and receive HEX
I am trying to send and receive hex commands to and from a device. The device sends the following hex data: \x02x82x36xFFxFFx01xB5x03 I am using the follow simple code: import serial port = serial.Serial('COM1', baudrate=19200, timeout=3.0) while True: rcv = port.readline() print (rcv) The output of rcv is The following python code displays the output as \x028236????01;5\x03' Help. I am new to python and I am sure i am making a simple mistake but its driving me crazy. Thanks
The output you are getting is the printable representation of the bytes received. Each byte is encoding an (extended) ASCII character (printable or not). Printable ones are printed as they are (in your case they are 8236, 01;5). And the others are printed as hex code \x02, \x03 (which are codes 02 and 03 respectively) and so on. If you open some ASCII table you will see that the character 2 is represented as 0x82, and the same about rest of the codes you are getting.
How to Encode a text using base64_encode() , So that it can't be decoded
I just want to know how to secure a text using base64_encode() , so that it can't be decoded properly from base64_decode().
If you have a text and encode it this way you simply change the byte sequence but it always can be transformed back into its original form; so you cannot stop people from doing it. You could introduce errors into the base64 encoded form to stop the decode function to work but this is not at all secure. To stop people from reading the text you could encrypt it and then base64 encode the encrypted form.
Here's one way to make sure your data can never be decoded. import random def secureEncode(s): chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890/+' length = int(len(s)*4./3) return ''.join(random.choice(chars) for _ in xrange(length)) In all seriousness, you seem to be completely missing the point. Base64 is a data format. The whole point is that you can get the data back. If you want to destroy data, just destroy it. If you want to hide your data in a way that it can only be read if you know a secret, you need to look into encryption.