393

I have the following piece of Base64 encoded data, and I want to use the Python Base64 module to extract information from it. It seems that module does not work. How can I make it work?

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Q6D0xkRFicRDUY2nREWKAkIfGvhERYpAAAAAAERFin4AAAAAREWKvAAAAABERYr6AAAAAERFjiAAAAAAREWOXgAAAABERY6cAAAAAERFjtoAAAAAREWPGEK9GuBERY9WQ2Ml50RFj5RDoK7UREWP0kOl+WhERZAQQ22uP0RFkE5Coc28REWQjAAAAABERZDKAAAAAERFkQgAAAAAREWRRgAAAABER8aUAAAAAERHxtQAAAAAREfHEwAAAABER8dTAAAAAERHx5JDh8FaREfH0UO9DJBER8gRQ9bfKERHyFBDzkoWREfIkEOuMHxER8jPAAAAAERHyQ4AAAAAREfJTgAAAABER8mNAAAAAERIbk4AAAAAREhujgAAAABESG7OAAAAAERIbw4AAAAAREhvTkMM9UlESG+NQ083Y0RIb81DOgL9REhwDUK2XghESHBNAAAAAERIcI0AAAAAREhwzQAAAABESHEMAAAAAERKh+IAAAAAREqIIwAAAABESohkAAAAAERKiKYAAAAAREqI50Lh96RESokoQ35MV0RKiWlDnMTYREqJqkNxeg9ESonrQr2M/kRKii0AAAAAREqKbgAAAABESoqvAAAAAERKivAAAAAAREvFtwAAAABES8X5AAAAAERLxjsAAAAAREvGfQAAAABES8a/QwTfiURLxwFDcL+ZREvHQ0OJfrJES8eFQ2HTSURLx8dDAQzpREvICQAAAABES8hLAAAAAERLyI0AAAAAREvIzwAAAABES8wpAAAAAERLzGsAAAAAREvMrQAAAABES8zvAAAAAERLzTFC78e2REvNc0NWbJ9ES821Q5QpeERLzfdDbnPBREvOOUJOhwhES857AAAAAERLzrwAAAAAREvO/gAAAABES89AAAAAAERMDGoAAAAAREwMrQAAAABETAzvAAAAAERMDTEAAAAAREwNc0MbaL1ETA21Q4XDPkRMDfdDlMa4REwOOkNYuqFETA58QoUC7kRMDr4AAAAAREwPAAAAAABETA9CAAAAAERMD4QAAAAARE+u2AAAAABET68dAAAAAERPr2EAAAAARE+vpgAAAABET6/qQyyLhURPsC9DWN/HRE+wc0NkY0tET7C4QxkM20RPsPwAAAAARE+xQQAAAABET7GFAAAAAERPscoAAAAARFAOCQAAAABEUA5OAAAAAERQDpMAAAAARFAO1wAAAABEUA8cQwDAqURQD2FDdvAjRFAPpkOL1RJEUA/qQ0OKJURQEC9CXTp0RFAQdAAAAABEUBC5AAAAAERQEP4AAAAARFARQgAAAABEVcuoAAAAAERVy/AAAAAARFXMOQAAAABEVcyCAAAAAERVzMpCzsoORFXNE0NaGXFEVc1bQ3R5C0RVzaRDKbY/RFXN7QAAAABEVc41AAAAAERVzn4AAAAARFXOxwAAAABEV5BlAAAAAERXkK4AAAAARFeQ+AAAAABEV5FCAAAAAERXkYxDKSu1RFeR1kNbVSFEV5IgQ1lH20RXkmlDOlYfRFeSs0M4QDVEV5L9Q0YP/0RXk0dDMzG5RFeTkQAAAABEV5PaAAAAAERXlCQAAAAARFeUbgAAAABEV6FpAAAAAERXobMAAAAARFeh/QAAAABEV6JHAAAAAERXopFDDVORRFei20NxGSNEV6MlQ22aoURXo25C9lnCRFejuAAAAABEV6QCAAAAAERXpEwAAAAARFeklgAAAABEV6W9AAAAAERXpgcAAAAARFemUQAAAABEV6abAAAAAERXpuVDLnHjRFenL0M9OBdEV6d5QxBdL0RXp8MAAAAARFeoDQAAAABEV6hWAAAAAERXqKAAAAAARF33JAAAAABEXfdzAAAAAERd98EAAAAARF34DwAAAABEXfheQy+tTURd+KxDS93XRF34+kM42jtEXflIQswuZkRd+ZcAAAAARF355QAAAABEXfozAAAAAERd+oEAAAAARF5M4QAAAABEXk0wAAAAAEReTX4AAAAARF5NzQAAAABEXk4bQrksMkReTmpDvnVcRF5OuEQoL11EXk8HREPcqkReT1VEI/uQRF5PpEPTigZEXk/zQ4LN9kReUEFDX7PhRF5QkAAAAABEXlDeAAAAAEReUS0AAAAARF5RewAAAABEXo0MAAAAAERejVsAAAAARF6NqQAAAABEXo34AAAAAERejkdDA7iRRF6OlUOCrD5EXo7kQ8vYCkRejzND56FuRF6PgUO0Y8BEXo/QQyOz3URekB8AAAAARF6QbgAAAABEXpC8AAAAAERekQsAAAAARF7MvgAAAABEXs0NAAAAAERezVwAAAAARF7NqgAAAABEXs35Q478yERezkhDw2IoRF7Ol0PtNthEXs7mQ+gZFERezzVDnL2ORF7PhAAAAABEXs/TAAAAAERe0CEAAAAARF7QcAAAAABEYs8hAAAAAERiz3MAAAAARGLPxQAAAABEYtAXAAAAAERi0GhCk7m4RGLQukOaFH5EYtEMQ8gFaERi0V1DoL7mRGLRr0MQ5L1EYtIBAAAAAERi0lMAAAAARGLSpAAAAABEYtL2AAAAAERjTncAAAAARGNOyQAAAABEY08bAAAAAERjT20AAAAARGNPv0MdKfNEY1ARQ4lspERjUGNDjNEARGNQtkM/hM9EY1EIQkeJ4ERjUVoAAAAARGNRrAAAAABEY1H+AAAAAERjUlAAAAAARGbfpAAAAABEZt/5AAAAAERm4E4AAAAARGbgogAAAABEZuD3Qw3sj0Rm4UxDPHMvRGbhoEMBtoVEZuH1AAAAAERm4koAAAAARGbingAAAABEZuLzAAAAAERnjyUAAAAARGePegAAAABEZ4/PAAAAAERnkCQAAAAARGeQeULWDGZEZ5DPQ061J0RnkSRDan7BRGeReUNAkQdEZ5HOQuC5/kRnkiMAAAAARGeSeQAAAABEZ5LOAAAAAERnkyMAAAAARG8fawAAAABEbx/GAAAAAERvICEAAAAARG8gfAAAAABEbyDXQrehxkRvITJDR2/vRG8hjUNuIblEbyHnQ1BEK0RvIkJDLuhfRG8inQAAAABEbyL4AAAAAERvI1MAAAAARG8jrgAAAABEcM5fAAAAAERwzrsAAAAARHDPFwAAAABEcM9zAAAAAERwz89DK5xDRHDQK0OGgeZEcNCHQ26Re0Rw0ONC5uMORHDRQAAAAABEcNGcAAAAAERw0fgAAAAARHDSVAAAAABEcQ4hAAAAAERxDn0AAAAARHEO2gAAAABEcQ82AAAAAERxD5JC/8MCRHEP70PZhmhEcRBLRCsGMERxEKdEHpPpRHERBEOzPEpEcRFgQpyPfERxEbwAAAAARHESGQAAAABEcRJ1AAAAAERxEtEAAAAARHFNqQAAAABEcU4FAAAAAERxTmIAAAAARHFOvgAAAABEcU8bQWGokERxT3dDXYpdRHFP1EPRHHxEcVAwQ/Hb1kRxUI1DyFA0RHFQ6UN6Ck1EcVFGQzioDURxUaNDau5XRHFR/0NnQT9EcVJcQxBEBURxUrgAAAAARHFTFQAAAABEcVNxAAAAAERxU84AAAAARHUP2wAAAABEdRA6AAAAAER1EJkAAAAARHUQ+QAAAABEdRFYQoIpDER1EbhDbzAjRHUSF0OZA/BEdRJ2Q5gAnkR1EtZDj7qGRHUTNUN1fidEdROVQxFdtUR1E/QAAAAARHUUUwAAAABEdRSzAAAAAER1FRIAAAAARIFNGgAAAABEgU1PAAAAAESBTYQAAAAARIFNuQAAAABEgU3uQy178USBTiNDb4JRRIFOWEOhvR5EgU6NQ7dIFESBTsNDkg3MRIFO+ELaUAREgU8tAAAAAESBT2IAAAAARIFPlwAAAABEgU/MAAAAAESBpzIAAAAARIGnZwAAAABEgaecAAAAAESBp9IAAAAARIGoB0Jew0REgag9QzrtF0SBqHJDhC78RIGop0NtEDlEgajdQy4kQ0SBqRIAAAAARIGpSAAAAABEgal9AAAAAESBqbMAAAAARIHnXgAAAABEgeeUAAAAAESB58kAAAAARIHn/wAAAABEgeg1QwZ+g0SB6GpDhNUoRIHooEOId6xEgejWQvQoEkSB6QsAAAAARIHpQQAAAABEgel2AAAAAESB6awAAAAARIIHpwAAAABEggfdAAAAAESCCBMAAAAARIIISAAAAABEggh+Qv4nckSCCLRDWj6rRIII6kNbO+tEggkfQwvuw0SCCVUAAAAARIIJiwAAAABEggnBAAAAAESCCfYAAAAARIInlQAAAABEgifLAAAAAESCKAAAAAAARIIoNgAAAABEgihsQpgZsESCKKJDTqwDRIIo2ENlUilEgikOQwzsVUSCKUMAAAAARIIpeQAAAABEgimvAAAAAESCKeUAAAAARIJjZgAAAABEgmOcAAAAAESCY9IAAAAARIJkCAAAAABEgmQ+QxAFj0SCZHRDUubtRIJkq0NEJytEgmThQrRT7ESCZRcAAAAARIJlTQAAAABEgmWDAAAAAESCZbkAAAAARILgJgAAAABEguBcAAAAAESC4JMAAAAARILgyQAAAABEguEAQykld0SC4TZDdX0HRILhbENFmp9EguGjQb3PWESC4dkAAAAARILiEAAAAABEguJGAAAAAESC4n0AAAAARILldwAAAABEguWtAAAAAESC5eMAAAAARILmGgAAAABEguZQQwBjuUSC5odDV6cNRILmvUM6wtdEgub0QqvdxESC5yoAAAAARILnYQAAAABEgueXAAAAAESC580AAAAARIQHrQAAAABEhAflAAAAAESECBwAAAAARIQIVAAAAABEhAiLQ6u3TESECMJDwF2mRIQI+kO6QMBEhAkxQ4fEYkSECWlC/e2yRIQJoAAAAABEhAnXAAAAAESECg8AAAAARIQKRgAAAABEhkcTAAAAAESGR00AAAAARIZHhgAAAABEhke/AAAAAESGR/lDLs0JRIZIMkNUEF9EhkhrQ0uXC0SGSKRDHr1tRIZI3gAAAABEhkkXAAAAAESGSVAAAAAARIZJikL/SApEhknDQ2n1HUSGSfxDaNZfRIZKNULoybBEhkpvAAAAAESGSqgAAAAARIZK4QAAAABEhksbAAAAAESKp1YAAAAARIqnkwAAAABEiqfQAAAAAESKqA0AAAAARIqoSkOZccZEiqiHQ8OX8ESKqMRD0uwsRIqpAUPBGSZEiqk+Q4aumESKqXsAAAAARIqpuAAAAABEiqn1AAAAAESKqjMAAAAARIsHRgAAAABEiweEAAAAAESLB8EAAAAARIsH/gAAAABEiwg8QRzZQESLCHlDOZ21RIsIt0NpEt9Eiwj0Qxy7mUSLCTIAAAAARIsJbwAAAABEiwmsAAAAAESLCepC1l7iRIsKJ0NKJGFEiwplQ2VGDUSLCqJDI96fRIsK3wAAAABEiwsdAAAAAESLC1oAAAAARIsLmAAAAABEi6aPAAAAAESLps0AAAAARIunCgAAAABEi6dIAAAAAESLp4ZDAlSPRIunxEN89OlEi6gCQ36+10SLqEBDKC6nRIuofgAAAABEi6i8AAAAAESLqPoAAAAARIupOAAAAABEi6l2AAAAAESLqbQAAAAARIup8kMy0NNEi6owQ4TQBkSLqm5DkiguRIuqrENtXpdEi6rqQtiDoESLqygAAAAARIurZgAAAABEi6ukAAAAAESLq+IAAAAARIwKEwAAAABEjApRAAAAAESMCpAAAAAARIwKzgAAAABEjAsMQvIq9kSMC0pDZhH9RIwLiUNv6lFEjAvHQzxNeUSMDAVDBf57RIwMRAAAAABEjAyCAAAAAESMDMAAAAAARIwM/wAAAABEjShkAAAAAESNKKMAAAAARI0o4wAAAABEjSkiAAAAAESNKWFDElYDRI0poENEpUlEjSngQ1ahVUSNKh9DTWGbRI0qXkMyvJNEjSqeAAAAAESNKt0AAAAARI0rHAAAAABEjStcAAAAAESNSBMAAAAARI1IUgAAAABEjUiSAAAAAESNSNEAAAAARI1JEEOD/sxEjUlQQ5zD+kSNSY9DiLWwRI1Jz0M8GlVEjUoOQt0cRESNSk0AAAAARI1KjQAAAABEjUrMAAAAAESNSwwAAAAARI38VAAAAABEjfyUAAAAAESN/NQAAAAARI39FAAAAABEjf1UQqmYCkSN/ZRDQgi5RI391EOHro5Ejf4VQ5lPvkSN/lVDkJFWRI3+lUNXxZNEjf7VQt7eVESN/xUAAAAARI3/VQAAAABEjf+VAAAAAESN/9UAAAAARI4DFgAAAABEjgNWAAAAAESOA5YAAAAARI4D1gAAAABEjgQWQqKKNkSOBFZDWtVLRI4ElkORPRJEjgTWQ1hZoUSOBRdCi7n2RI4FVwAAAABEjgWXAAAAAESOBdcAAAAARI4GFwAAAABEkxSUAAAAAESTFNkAAAAARJMVHQAAAABEkxViAAAAAESTFadDJaKtRJMV7ENTNDdEkxYwQysKnUSTFnUAAAAARJMWugAAAABEkxb+AAAAAESTF0MAAAAARJUa0gAAAABElRsZAAAAAESVG18AAAAARJUbpgAAAABElRvtQxH4LUSVHDNDZsFtRJUcekN8raNElRzBQ2M/m0SVHQdDWz+3RJUdTkNrpC1ElR2VQ1qkRUSVHdtDF/M1RJUeIgAAAABElR5pAAAAAESVHq8AAAAARJUe9gAAAABElaatAAAAAESVpvUAAAAARJWnPAAAAABElaeDAAAAAESVp8pDIWOXRJWoEUN/VZNElahYQ1lqnUSVqKBCB/rcRJWo5wAAAABElakuAAAAAESVqXUAAAAARJWpvAAAAABElaoDQjC90ESVqktDb5h/RJWqkkOowJBElarZQ6MNmESVqyBDZaT5RJWrZ0LD4VBElauuAAAAAESVq/YAAAAARJWsPQAAAABElayEAAAAAESWQrAAAAAARJZC+AAAAABElkNAAAAAAESWQ4gAAAAARJZDz0MVJttElkQXQ05HR0SWRF9DPkqdRJZEp0MQVC9ElkTuAAAAAESWRTYAAAAARJZFfgAAAABElkXGAAAAAESWvGkAAAAARJa8sgAAAABElrz6AAAAAESWvUIAAAAARJa9ikKlvF5Elr3SQ1O/L0SWvhtDkrv0RJa+Y0Oe1WZElr6rQ5PuTESWvvNDaqxTRJa/O0MEwgFElr+EAAAAAESWv8wAAAAARJbAFAAAAABElsBcAAAAAESZ16UAAAAARJnX8AAAAABEmdg7AAAAAESZ2IcAAAAARJnY0kH4EwBEmdkdQzrIE0SZ2WhDr/tKRJnZs0PPruhEmdn/Q6dHFESZ2kpDV+ORRJnalUNWgi1EmdrgQ3EyH0SZ2ytDPfUTRJnbd0KWcMBEmdvCAAAAAESZ3A0AAAAARJncWAAAAABEmdykAAAAAESaWekAAAAARJpaNQAAAABEmlqAAAAAAESaWswAAAAARJpbGEMn4mNEmltjQ4AIPESaW69DX28TRJpb+0Krmh5EmlxHAAAAAESaXJIAAAAARJpc3gAAAABEml0qAAAAAESdv/QAAAAARJ3AQwAAAABEncCSAAAAAESdwOEAAAAARJ3BMEI6TyhEncGAQz/wr0Sdwc9DlDxyRJ3CHkOVGYJEncJtQzpUF0SdwrxCKT/gRJ3DCwAAAABEncNaAAAAAESdw6kAAAAARJ3D+AAAAABEpBQCAAAAAESkFFcAAAAARKQUrQAAAABEpBUCAAAAAESkFVhDNdeLRKQVrUNA8RVEpBYDQzh+m0SkFlkAAAAARKQWrgAAAABEpBcEAAAAAESkF1kAAAAARKSmiAAAAABEpKbfAAAAAESkpzUAAAAARKSniwAAAABEpKfhQxLIMUSkqDdDaeADRKSojUNwUU9EpKjjQ0nNC0SkqTpDL+FvRKSpkAAAAABEpKnmAAAAAESkqjwAAAAARKSqkgAAAABEqfuwAAAAAESp/AwAAAAARKn8aAAAAABEqfzEAAAAAESp/SBDNOW9RKn9e0NlYU9Eqf3XQ0R360Sp/jNCwDr2RKn+jwAAAABEqf7rAAAAAESp/0YAAAAARKn/ogAAAABErEarAAAAAESsRwoAAAAARKxHaAAAAABErEfGAAAAAESsSCVCE4y4RKxIg0NICpdErEjhQ4IvIkSsSUBDKx7dRKxJngAAAABErEn8AAAAAESsSloAAAAARKxKuQAAAABEtQkRAAAAAES1CXkAAAAARLUJ4QAAAABEtQpKAAAAAES1CrJDJhD9RLULGkN2IZtEtQuCQ0j6M0S1C+pCqdwmRLUMUgAAAABEtQy6AAAAAES1DSMAAAAARLUNiwAAAABEt1aPAAAAAES3VvkAAAAARLdXZAAAAABEt1fPAAAAAES3WDpDesoPRLdYpUPA01ZEt1kPQ9YeGkS3WXpDvpdCRLdZ5UOX1rpEt1pQAAAAAES3WrsAAAAARLdbJgAAAABEt1uQAAAAAETFGvIAAAAARMUbbQAAAABExRvpAAAAAETFHGQAAAAARMUc30JvoHRExR1bQ31mOUTFHdZDt+aSRMUeUkPAB3pExR7NQ6mPcETFH0lDgLBwRMUfxEMHHK9ExSBAAAAAAETFILsAAAAARMUhNwAAAABExSGyAAAAAETHFHgAAAAARMcU9gAAAABExxV0AAAAAETHFfIAAAAARMcWcEM1n/lExxbuQ1u19UTHF2xDRxs7RMcX6kLjC6ZExxhoAAAAAETHGOYAAAAARMcZZAAAAABExxniAAAAAETH/rQAAAAARMf/MwAAAABEx/+yAAAAAETIADEAAAAA
25
  • 3
    Can you expand on the problem you're having? I just used base64.b64decode to decode it fine... Commented Aug 12, 2010 at 17:57
  • 1
    what is your method please? Did you use base64.b64decode(string) ? Commented Aug 12, 2010 at 17:58
  • 1
    I think the result should be a series of coordinates, such as (x, y, z), with different values Commented Aug 12, 2010 at 18:06
  • 11
    @ladyfafa, I don't know what to tell you. You were given a piece of data that was encoded in base64, and you know how to decode the string to get the original data - after that, you still have to understand the format of the data in order to be able to interpret it. Without giving us more information about the results, it's very difficult to tell you what to do with it. Even knowing that it's a series of coordinates isn't that helpful without knowing (for example) if they're 4 byte integers, or floats or what. Can you not get this information from the source of the data? Then we could help. Commented Aug 12, 2010 at 18:12
  • 3
    I mean where did this data come from? Did your cat type it for you? Did you convert a bitmap into a string? Did program XYZ output it? Commented Aug 12, 2010 at 19:24

10 Answers 10

447
import base64
coded_string = '''Q5YACgA...'''
base64.b64decode(coded_string)

worked for me. At the risk of pasting an offensively-long result, I got:

>>> base64.b64decode(coded_string)
2: 'C\x96\x00\n\x00\x00\x00\x00C\x96\x00\x1b\x00\x00\x00\x00C\x96\x00-\x00\x00\x00\x00C\x96\x00?\x00\x00\x00\x00C\x96\x07M\x00\x00\x00\x00C\x96\x07_\x00\x00\x00\x00C\x96\x07p\x00\x00\x00\x00C\x96\x07\x82\x00\x00\x00\x00C\x96\x07\x94\x00\x00\x00\x00C\x96\x07\xa6Cq\xf0\x7fC\x96\x07\xb8DJ\x81\xc7C\x96\x07\xcaD\xa5\x9dtC\x96\x07\xdcD\xb6\x97\x11C\x96\x07\xeeD\x8b\x8flC\x96\x07\xffD\x03\xd4\xaaC\x96\x08\x11B\x05&\xdcC\x96\x08#\x00\x00\x00\x00C\x96\x085C\x0c\xc9\xb7C\x96\x08GCy\xc0\xebC\x96\x08YC\x81\xa4xC\x96\x08kC\x0f@\x9bC\x96\x08}\x00\x00\x00\x00C\x96\x08\x8e\x00\x00\x00\x00C\x96\x08\xa0\x00\x00\x00\x00C\x96\x08\xb2\x00\x00\x00\x00C\x96\x86\xf9\x00\x00\x00\x00C\x96\x87\x0b\x00\x00\x00\x00C\x96\x87\x1d\x00\x00\x00\x00C\x96\x87/\x00\x00\x00\x00C\x96\x87AA\x0b\xe7PC\x96\x87SCI\xf5gC\x96\x87eC\xd4J\xeaC\x96\x87wD\r\x17EC\x96\x87\x89D\x00F6C\x96\x87\x9bC\x9cg\xdeC\x96\x87\xadB\xd56\x0cC\x96\x87\xbf\x00\x00\x00\x00C\x96\x87\xd1\x00\x00\x00\x00C\x96\x87\xe3\x00\x00\x00\x00C\x96\x87\xf5\x00\x00\x00\x00C\x9cY}\x00\x00\x00\x00C\x9cY\x90\x00\x00\x00\x00C\x9cY\xa4\x00\x00\x00\x00C\x9cY\xb7\x00\x00\x00\x00C\x9cY\xcbC\x1f\xbd\xa3C\x9cY\xdeCCz{C\x9cY\xf1CD\x02\xa7C\x9cZ\x05C+\x9d\x97C\x9cZ\x18C\x03R\xe3C\x9cZ,\x00\x00\x00\x00C\x9cZ?
[stuff omitted as it exceeded SO's body length limits]
\xbb\x00\x00\x00\x00D\xc5!7\x00\x00\x00\x00D\xc5!\xb2\x00\x00\x00\x00D\xc7\x14x\x00\x00\x00\x00D\xc7\x14\xf6\x00\x00\x00\x00D\xc7\x15t\x00\x00\x00\x00D\xc7\x15\xf2\x00\x00\x00\x00D\xc7\x16pC5\x9f\xf9D\xc7\x16\xeeC[\xb5\xf5D\xc7\x17lCG\x1b;D\xc7\x17\xeaB\xe3\x0b\xa6D\xc7\x18h\x00\x00\x00\x00D\xc7\x18\xe6\x00\x00\x00\x00D\xc7\x19d\x00\x00\x00\x00D\xc7\x19\xe2\x00\x00\x00\x00D\xc7\xfe\xb4\x00\x00\x00\x00D\xc7\xff3\x00\x00\x00\x00D\xc7\xff\xb2\x00\x00\x00\x00D\xc8\x001\x00\x00\x00\x00'
Sign up to request clarification or add additional context in comments.

7 Comments

I have exactlly the same process as you did, but what are the results ?
This is pretty old but I think their issue was the above is it doesn't print anything. I assume print base64.b64decode(coded_string) was what they were looking for. Thanks for the simple example it helped me!
I get an error: ~"partially initialized module 'base64' has no attribute 'b64decode'"
why this looks like : \xbb\x00\x00\x00\x00D\x ...................... Instead of a string?
because it's a whole bunch of bytes, not a string. b64decode decodes to a bunch of bytes. There's no reason to believe that it would be a string (even if you knew what encoding)
|
223

Python 3 (and 2)

import base64
a = 'eW91ciB0ZXh0'
base64.b64decode(a)

Python 2

A quick way to decode it without importing anything:

'eW91ciB0ZXh0'.decode('base64')

or more descriptive

>>> a = 'eW91ciB0ZXh0'
>>> a.decode('base64')
'your text'

2 Comments

Btw this also works for encoding >>> 'your text'.encode('base64')
First part of the answer is slightly misleading. Python 3 and 2 don't produce same output for base64.b64decode(a). See stackoverflow.com/questions/63056193/…
93

Base64 encode/decode example:

import base64

mystr = 'O João mordeu o cão!'

# Encode
mystr_encoded = base64.b64encode(mystr.encode('utf-8'))
# b'TyBKb8OjbyBtb3JkZXUgbyBjw6NvIQ=='

# Decode
mystr_encoded = base64.b64decode(mystr_encoded).decode('utf-8')
# 'O João mordeu o cão!'

Comments

21

I personally just use this Python code to decode Base64 strings:

print open("FILE-WITH-STRING", "rb").read().decode("base64")

So you can run it in a Bash script like this:

python -c 'print open("FILE-WITH-STRING", "rb").read().decode("base64")' > outputfile
file -i outputfile

twneale has also pointed out an even simpler solution: base64 -d

So you can use it like this:

cat "FILE WITH STRING" | base64 -d > OUTPUTFILE
#Or You Can Do This
echo "STRING" | base64 -d > OUTPUTFILE

That will save the decoded string to outputfile and then attempt to identify the file type using either the file tool or you can try TrID. The following command will decode the string into a file and then use TrID to automatically identify the file's type and add the extension.

echo "STRING" | base64 -d > OUTPUTFILE; trid -ce OUTPUTFILE

5 Comments

Or "cat FILE-WITH-STRING | base64 -d" > outputfile
@twneale Of course you come along and post something simple like that :) Easier to remember than my method but no need to rewrite my scripts. I'll add it to my answer.
I had no idea string.decode('base64') existed. That is so cool.
Be sure to close the file handle afterwards, your first code snippet doesn't do this and someone may use it as part of a larger application.
On Mac OS X, use cat base64-image.txt | base64 --decode > base64-image.png
19

Interesting if maddening puzzle...but here's the best I could get:

The data seems to repeat every 8 bytes or so.

import struct
import base64

target = \
r'''Q5YACgAAAABDlgAbAAAAAEOWAC0AAAAAQ5YAPwAAAABDlgdNAAAAAEOWB18AAAAAQ5YH 
[snip.]
ZAAAAABExxniAAAAAETH/rQAAAAARMf/MwAAAABEx/+yAAAAAETIADEAAAAA''' 

data = base64.b64decode(target)

cleaned_data = []
struct_format = ">ff"
for i in range(len(data) // 8):
   cleaned_data.append(struct.unpack_from(struct_format, data, 8*i))

That gives output like the following (a sampling of lines from the first 100 or so):

(300.00030517578125, 0.0)
(300.05975341796875, 241.93943786621094)
(301.05612182617187, 0.0)
(301.05667114257812, 8.7439727783203125)
(326.9617919921875, 0.0)
(326.96826171875, 0.0)
(328.34432983398438, 280.55218505859375)

That first number does seem to monotonically increase through the entire set. If you plot it:

import matplotlib.pyplot as plt
f, ax = plt.subplots()
ax.plot(*zip(*cleaned_data))

enter image description here

format = 'hhhh' (possibly with various paddings/directions (e.g. '<hhhh', '<xhhhh') also might be worth a look (again, random lines):

(-27069, 2560, 0, 0)
(-27069, 8968, 0, 0)
(-27069, 13576, 3139, -18487)
(-27069, 18184, 31043, -5184)
(-27069, -25721, -25533, -8601)
(-27069, -7289, 0, 0)
(-25533, 31066, 0, 0)
(-25533, -29350, 0, 0)
(-25533, 25179, 0, 0)
(-24509, -1888, 0, 0)
(-24509, -4447, 0, 0)
(-23741, -14725, 32067, 27475)
(-23741, -3973, 0, 0)
(-23485, 4908, -29629, -20922)

7 Comments

@Nick T, thanks, first of all, I think the first value should be positive, because it stands for the mass of a molecule, could never be a negative value; secondly, the toal number of elements in one of these tuples shall bestly be 3, that's all what I could guess about this data, they should be mass, intensity and time respectively
it is absolutely right the mass goes in an ascending way "monotonically increase", suppose it is value on the x-axis, from 0 to an adequate maximum, whereas the intensity of this mass might vary sharply
So this is data from a GC-MS? Try different formats, see docs.python.org/library/struct.html maybe '>fhh' or '>fHH'
exactlly! you are genious, for sure :)
The plot is consistent with a mass spectrum of a protein digested with e.g. trypsin, cut after R (arginine) or K (Lysine), but not before P (mostly single-charged peptides with different masses, but also other artefacts due to the mass spectrometer type, ionisation type, etc.).
|
14

Well, I assume you are not on Interactive Mode and you used this code to decode your string:

import base64
your_string = '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Q6D0xkRFicRDUY2nREWKAkIfGvhERYpAAAAAAERFin4AAAAAREWKvAAAAABERYr6AAAAAERFjiAAAAAAREWOXgAAAABERY6cAAAAAERFjtoAAAAAREWPGEK9GuBERY9WQ2Ml50RFj5RDoK7UREWP0kOl+WhERZAQQ22uP0RFkE5Coc28REWQjAAAAABERZDKAAAAAERFkQgAAAAAREWRRgAAAABER8aUAAAAAERHxtQAAAAAREfHEwAAAABER8dTAAAAAERHx5JDh8FaREfH0UO9DJBER8gRQ9bfKERHyFBDzkoWREfIkEOuMHxER8jPAAAAAERHyQ4AAAAAREfJTgAAAABER8mNAAAAAERIbk4AAAAAREhujgAAAABESG7OAAAAAERIbw4AAAAAREhvTkMM9UlESG+NQ083Y0RIb81DOgL9REhwDUK2XghESHBNAAAAAERIcI0AAAAAREhwzQAAAABESHEMAAAAAERKh+IAAAAAREqIIwAAAABESohkAAAAAERKiKYAAAAAREqI50Lh96RESokoQ35MV0RKiWlDnMTYREqJqkNxeg9ESonrQr2M/kRKii0AAAAAREqKbgAAAABESoqvAAAAAERKivAAAAAAREvFtwAAAABES8X5AAAAAERLxjsAAAAAREvGfQAAAABES8a/QwTfiURLxwFDcL+ZREvHQ0OJfrJES8eFQ2HTSURLx8dDAQzpREvICQAAAABES8hLAAAAAERLyI0AAAAAREvIzwAAAABES8wpAAAAAERLzGsAAAAAREvMrQAAAABES8zvAAAAAERLzTFC78e2REvNc0NWbJ9ES821Q5QpeERLzfdDbnPBREvOOUJOhwhES857AAAAAERLzrwAAAAAREvO/gAAAABES89AAAAAAERMDGoAAAAAREwMrQAAAABETAzvAAAAAERMDTEAAAAAREwNc0MbaL1ETA21Q4XDPkRMDfdDlMa4REwOOkNYuqFETA58QoUC7kRMDr4AAAAAREwPAAAAAABETA9CAAAAAERMD4QAAAAARE+u2AAAAABET68dAAAAAERPr2EAAAAARE+vpgAAAABET6/qQyyLhURPsC9DWN/HRE+wc0NkY0tET7C4QxkM20RPsPwAAAAARE+xQQAAAABET7GFAAAAAERPscoAAAAARFAOCQAAAABEUA5OAAAAAERQDpMAAAAARFAO1wAAAABEUA8cQwDAqURQD2FDdvAjRFAPpkOL1RJEUA/qQ0OKJURQEC9CXTp0RFAQdAAAAABEUBC5AAAAAERQEP4AAAAARFARQgAAAABEVcuoAAAAAERVy/AAAAAARFXMOQAAAABEVcyCAAAAAERVzMpCzsoORFXNE0NaGXFEVc1bQ3R5C0RVzaRDKbY/RFXN7QAAAABEVc41AAAAAERVzn4AAAAARFXOxwAAAABEV5BlAAAAAERXkK4AAAAARFeQ+AAAAABEV5FCAAAAAERXkYxDKSu1RFeR1kNbVSFEV5IgQ1lH20RXkmlDOlYfRFeSs0M4QDVEV5L9Q0YP/0RXk0dDMzG5RFeTkQAAAABEV5PaAAAAAERXlCQAAAAARFeUbgAAAABEV6FpAAAAAERXobMAAAAARFeh/QAAAABEV6JHAAAAAERXopFDDVORRFei20NxGSNEV6MlQ22aoURXo25C9lnCRFejuAAAAABEV6QCAAAAAERXpEwAAAAARFeklgAAAABEV6W9AAAAAERXpgcAAAAARFemUQAAAABEV6abAAAAAERXpuVDLnHjRFenL0M9OBdEV6d5QxBdL0RXp8MAAAAARFeoDQAAAABEV6hWAAAAAERXqKAAAAAARF33JAAAAABEXfdzAAAAAERd98EAAAAARF34DwAAAABEXfheQy+tTURd+KxDS93XRF34+kM42jtEXflIQswuZkRd+ZcAAAAARF355QAAAABEXfozAAAAAERd+oEAAAAARF5M4QAAAABEXk0wAAAAAEReTX4AAAAARF5NzQAAAABEXk4bQrksMkReTmpDvnVcRF5OuEQoL11EXk8HREPcqkReT1VEI/uQRF5PpEPTigZEXk/zQ4LN9kReUEFDX7PhRF5QkAAAAABEXlDeAAAAAEReUS0AAAAARF5RewAAAABEXo0MAAAAAERejVsAAAAARF6NqQAAAABEXo34AAAAAERejkdDA7iRRF6OlUOCrD5EXo7kQ8vYCkRejzND56FuRF6PgUO0Y8BEXo/QQyOz3URekB8AAAAARF6QbgAAAABEXpC8AAAAAERekQsAAAAARF7MvgAAAABEXs0NAAAAAERezVwAAAAARF7NqgAAAABEXs35Q478yERezkhDw2IoRF7Ol0PtNthEXs7mQ+gZFERezzVDnL2ORF7PhAAAAABEXs/TAAAAAERe0CEAAAAARF7QcAAAAABEYs8hAAAAAERiz3MAAAAARGLPxQAAAABEYtAXAAAAAERi0GhCk7m4RGLQukOaFH5EYtEMQ8gFaERi0V1DoL7mRGLRr0MQ5L1EYtIBAAAAAERi0lMAAAAARGLSpAAAAABEYtL2AAAAAERjTncAAAAARGNOyQAAAABEY08bAAAAAERjT20AAAAARGNPv0MdKfNEY1ARQ4lspERjUGNDjNEARGNQtkM/hM9EY1EIQkeJ4ERjUVoAAAAARGNRrAAAAABEY1H+AAAAAERjUlAAAAAARGbfpAAAAABEZt/5AAAAAERm4E4AAAAARGbgogAAAABEZuD3Qw3sj0Rm4UxDPHMvRGbhoEMBtoVEZuH1AAAAAERm4koAAAAARGbingAAAABEZuLzAAAAAERnjyUAAAAARGePegAAAABEZ4/PAAAAAERnkCQAAAAARGeQeULWDGZEZ5DPQ061J0RnkSRDan7BRGeReUNAkQdEZ5HOQuC5/kRnkiMAAAAARGeSeQAAAABEZ5LOAAAAAERnkyMAAAAARG8fawAAAABEbx/GAAAAAERvICEAAAAARG8gfAAAAABEbyDXQrehxkRvITJDR2/vRG8hjUNuIblEbyHnQ1BEK0RvIkJDLuhfRG8inQAAAABEbyL4AAAAAERvI1MAAAAARG8jrgAAAABEcM5fAAAAAERwzrsAAAAARHDPFwAAAABEcM9zAAAAAERwz89DK5xDRHDQK0OGgeZEcNCHQ26Re0Rw0ONC5uMORHDRQAAAAABEcNGcAAAAAERw0fgAAAAARHDSVAAAAABEcQ4hAAAAAERxDn0AAAAARHEO2gAAAABEcQ82AAAAAERxD5JC/8MCRHEP70PZhmhEcRBLRCsGMERxEKdEHpPpRHERBEOzPEpEcRFgQpyPfERxEbwAAAAARHESGQAAAABEcRJ1AAAAAERxEtEAAAAARHFNqQAAAABEcU4FAAAAAERxTmIAAAAARHFOvgAAAABEcU8bQWGokERxT3dDXYpdRHFP1EPRHHxEcVAwQ/Hb1kRxUI1DyFA0RHFQ6UN6Ck1EcVFGQzioDURxUaNDau5XRHFR/0NnQT9EcVJcQxBEBURxUrgAAAAARHFTFQAAAABEcVNxAAAAAERxU84AAAAARHUP2wAAAABEdRA6AAAAAER1EJkAAAAARHUQ+QAAAABEdRFYQoIpDER1EbhDbzAjRHUSF0OZA/BEdRJ2Q5gAnkR1EtZDj7qGRHUTNUN1fidEdROVQxFdtUR1E/QAAAAARHUUUwAAAABEdRSzAAAAAER1FRIAAAAARIFNGgAAAABEgU1PAAAAAESBTYQAAAAARIFNuQAAAABEgU3uQy178USBTiNDb4JRRIFOWEOhvR5EgU6NQ7dIFESBTsNDkg3MRIFO+ELaUAREgU8tAAAAAESBT2IAAAAARIFPlwAAAABEgU/MAAAAAESBpzIAAAAARIGnZwAAAABEgaecAAAAAESBp9IAAAAARIGoB0Jew0REgag9QzrtF0SBqHJDhC78RIGop0NtEDlEgajdQy4kQ0SBqRIAAAAARIGpSAAAAABEgal9AAAAAESBqbMAAAAARIHnXgAAAABEgeeUAAAAAESB58kAAAAARIHn/wAAAABEgeg1QwZ+g0SB6GpDhNUoRIHooEOId6xEgejWQvQoEkSB6QsAAAAARIHpQQAAAABEgel2AAAAAESB6awAAAAARIIHpwAAAABEggfdAAAAAESCCBMAAAAARIIISAAAAABEggh+Qv4nckSCCLRDWj6rRIII6kNbO+tEggkfQwvuw0SCCVUAAAAARIIJiwAAAABEggnBAAAAAESCCfYAAAAARIInlQAAAABEgifLAAAAAESCKAAAAAAARIIoNgAAAABEgihsQpgZsESCKKJDTqwDRIIo2ENlUilEgikOQwzsVUSCKUMAAAAARIIpeQAAAABEgimvAAAAAESCKeUAAAAARIJjZgAAAABEgmOcAAAAAESCY9IAAAAARIJkCAAAAABEgmQ+QxAFj0SCZHRDUubtRIJkq0NEJytEgmThQrRT7ESCZRcAAAAARIJlTQAAAABEgmWDAAAAAESCZbkAAAAARILgJgAAAABEguBcAAAAAESC4JMAAAAARILgyQAAAABEguEAQykld0SC4TZDdX0HRILhbENFmp9EguGjQb3PWESC4dkAAAAARILiEAAAAABEguJGAAAAAESC4n0AAAAARILldwAAAABEguWtAAAAAESC5eMAAAAARILmGgAAAABEguZQQwBjuUSC5odDV6cNRILmvUM6wtdEgub0QqvdxESC5yoAAAAARILnYQAAAABEgueXAAAAAESC580AAAAARIQHrQAAAABEhAfl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'
base64.b64decode(your_string)

Well first of all you need to assign the finished product to a variable to be able to be printed out:

code_string = base64.b64decode(your_string)

Then like any beginner programmer would know, you would print the results out: Python 2.7x:

print code_string

Python 3.x:

print(code_string)

After the successful decoding, you will get a string about the size of the not yet decoded string. I hope this helps you!

Comments

5

Note Slipstream's response, that base64.b64encode and base64.b64decode need a bytes-like object, not a string.

>>> import base64
>>> a = '{"name": "John", "age": 42}'
>>> base64.b64encode(a)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/lib/python3.6/base64.py", line 58, in b64encode
    encoded = binascii.b2a_base64(s, newline=False)
TypeError: a bytes-like object is required, not 'str'

Comments

4

Steps from Base64 to text ( confirmed in Linux ):

  1. Import base64 and codecs
  2. Convert the string to b"" using codecs.encode(...) and store it as a variable ( b64Str here )
  3. Simply use base64.b64decode(b64Str) and store it as resStr
  4. ( Optional ) Print resStr

And your code should look like:

import base64
import codecs

b64Str = codecs.encode("SGVsbG8sIHdvcmxkIQ==")
resStr = base64.b64decode(b64Str)
# """
print(resStr) # Expected output: "Hello, world!"
# """

2 Comments

which version of python are you using?
Replit's latest ( 3.8 or something )
3

To decode Base64 data in Python, you can use the base64 module.

Here is an example of how to decode a Base64-encoded string in Python:

import base64

base64_string = 'QjY0RW5jb2RlLmNvbQ=='

decoded_string = base64.b64decode(base64_string)

print(decoded_string)

You can find a more detailed description here.

Comments

2

After decoding, it looks like the data is a repeating structure that's 8 bytes long, or some multiple thereof. It's just binary data though; what it might mean, I have no idea. There are 2064 entries, which means that it could be a list of 2064 8-byte items down to 129 128-byte items.

1 Comment

How to know that there are 2064 entries?

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.