将二进制编码字符串转换回二进制

2024-06-16 09:40:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python字符串中的PNG图像二进制文件,例如:

data = '\\x89PNG\\r\\n\\x1a\\n\\x00\\x00\\x00\\rIHDR\\x00\\x00\\x002\\x00\\x00\\x002\\x08\\x06\\x00\\x00\\x00\\x1e?\\x88±\\x00\\x00\\x05ØIDAThÞíØml\\x96å\\x15\\x07ð_EJ\\x81TQ\\x07\\x02By\\x13p\\x82@\\r\\x89¨Ù\\x07\\x033N\\x10\\x95á\\x868\\x978§Ù\\x96\\x99lÎÉÐÄétÙ*\\x83,\\x0e\\x9d¼$.B7«ÎH\\x17\\x94\\x99âË´È&\\x8cÚ\\x01\\x83\\x87j)PÞ)/\\x95\\x96Ú\\x97³\\x0f«Ïú´X\\x1eT\\x0c3Ï\\x95\\\\\\x1fîsÎ}®û\\x7f\\x9fë\\x7f®ë\\x9c¬ |\\x01Æ\\x19¾ #\\x03$\\x03$\\x03$\\x03$\\x03¤Ã8f\\x8am\\n4\\x1b\\rB?Û\\x14¨3ý³[$\\x88¶ó]OG\\x81ªhtY´×%Ì\\x8f\\x02UQëæ\\x0eºÎæ\\x16\\x8f\\x05\\x11µfF\\x10\\x8d&\\x04\\x11åþpR~:\\x9b\\x1d"R£\\x8fYò´èÞ\\x01ô\\x11½Í\\x92§Iîi·µÎü¬\\x1cÕ\\x99¦Æ¥²\\x1dÑÛ\\x12Yv}"?\\x87Ýé\\x88ÁÎRél\\x8b>?\\x8e4ºÜRï\\x1aêy\\x03Ýï|\\x05~`£Ýî?É\\x1f1Ý\\x1c[õ²@\\x9eÙzYh\\x9eJõnüt@¶\\x9bf\\x9b\\x82\\x94¹Kÿ\\x0ev\\x7f²ÀJ\\x83\\xad6O\\x931\\x0e»Í%ö¹×,MƧ\\rä÷æx[\\x1f[ÍÑd\\x8cJ󼦯\\x05~óÉÈþ\\x9a\\x15\\\'äÖAwF\\x10\\x87Ü\\x1e¹"6{"Å\\xa0ÎÔè«%6y2-²ï÷ã b\\x8d¢\\x14?\\x7f÷ç â\\x80»NHö\\x8fåH\\x83«d{=E¶V\\x91ñ¾\\x91|®v\\x85Z\\x14\\x99*ǵm~N\\x96\\x1cáÀq"x¼±ËX0Ì«)ò\\x0b½\\x8eivÉwî©${\\x83\\x1eàR\\x95r4¤è\\x16Û"Oy\\x9a<ë\\x06ºªI\\x91wu(E\\x7fÊ\\x80ôjÍLc¼e\\xa0Ù\\x9fØÏÙö\\x80\\x83Æê鹤ü`ë\\x01ú\\x91þ\\x94e\\xad<K|ÓQÏ\\x9a¡Ù%\\x1d²Y³ü´ü\\x0cô¼I\\x1a¼âFd·Js½ìz×h0À³§6"]¬ó+\\x0bÝì.\\x95Þpµ\\x7fËÖ¨Z\\x1fÏ\\x1aªÈ\\x8fô²î\\x84~ºzË£^p\\x95\\x19öK\\x18c«2CÍ1À«\\nuµúä\\x81\\x0cóO%ÎÔÅþ\\x0eÆ\\x17(Wâ<9¶\\\'eCÜm\\x85\\x84R3U¸@\\x960È^\\x0bÌ×K!8Ï&%Vʶ³u\\x1bÔ(±R_ë\\x93~òÍTn»¿¹Æz\\x83\\x0cP£LaÚ[6+Ó|È\\x00É\\x00É\\x00ùÿ\\x05²ËÏ\\xadT¢ÁÕíj\\x84;¬T¢Âï:8X«HYk\\x9aý4£Âc²\\x84\\x0fÌìÔîMËMQß9\\x90fÙ&\\x99¨ª]\\r°Þu&\\x99è\\x99vòf\\x17û¡iª\\x0c9½"ÒO¡Ë5ÚdL\\x8aQ¹\\x91\\x1eUe©~\\x1a]Ù&\\x82·XíL\\x17¥y9üÜ\\x80t±ÑMvXmX\\x9b+y_Å\\x06\\x99j\\x85\\x81\\x1aíhÓù¨0^\\x1fa\\x90¿\\x80z7(´Î\\x14õFhö3{l²0eÁRÅ\\x8a¬\\x91ð\\x84{ì\\x93§E¹%Çý¸\\x0f|Ë\\x13\\x12ò5¹N½b¥\\x9auIï\\x8a\\x92/a\\x86«=àkr¼l¯ï(\\x93m°\\x17M5Q¸äFZg¸Ûí\\x95c¹\\x16Ã=âI\\x9båzH±³íñºI.s\\x87\\x7fh1Ò÷Z£ØÏÓFyÓPwxÉ÷\\x1dp\\x8e÷Ô¸0å;Z\\x8cð\\x88¹vêî)Ez:d¹k¼i\\\\z\\x15âv\\x0f\\x876U_©â\\x98mw\\x04ñ\\x86\\x97âaÛ#\\x88f_\\x8e+|\\x18Ë\\x94F\\x10\\x1b,\\x0e"Þ77é«Åyñ\\xa0êø©½IÙsÞ\\x89\\x9e"öùI§-£\\x8d\\x16\\x05\\x11;ü"iÓdtÜéPLV\\x7fâvP\\x7fK]©ÑæÖª\\xadÜH\\x13¼ßz¡\\\\£P\\x7f\\x8d®°Ó-Véê"ï\\x82\\x84Q®Wo\\x88ûþw\\x91sÀW\\xad5Oï\\x94Lx³Ã¾dn§{~\\x8bQ¾\\xadÖ\\x05\\x1eh³õ×\\x9blCzçÈ\\x196\\x9bn»·\\r\\x13ÎW,ÏHÿjM\\x06\\x7ft®f;LWa¼þ Ë@\\xad\\x1e\\x86¨£]¥\\x98ë\\xa0f\\x1c\\x93\\x97\\x94õvì\\x84ä\\xadÕÃ\\x00u\\x1däg9\\x92þ\\x81\\x98/á)}ls\\x8fպɳ¼Õx\\x93¯«\\x96\\x90¯Ì\\x08·Ù£\\x9b¿¶~p\\x9dJ=hW\\x96Öê¥\\x0brl;©,\\x94«Î\\x8eÖR:µIxVú@.ô\\x8eݲ\\x14¹Éwí×]qR7Î\\x16«\\x8cô¼\\x01&¨HÊGØ`\\x99î¶úe\\x1bþ\\x9d£ÄxwÛ§\\x9bWN\\nÈp\\x1b<-Wµ\\x87Ú\\x9c[£-wqzdÿ/\\x91\\x87ÇW|\\x18D¼`u\\x8a®Ê¯\\x93\\x8f\\tóSÞ¹Ïî\\x98îh¬Q\\x14\\x15\\x1e\\x8bÅ6D®H¶\\x85>"ûGÉ£3²7\\x1b\\x11÷Ú\\x1b·:\\x12ë,\\x8d\\x84Çã·Þ\\x8bi\\x8e\\x1e\\x97ì>®Oô¢UQ\\xa0*Þ7/EÞèÒ\\x98ck\\x14¨\\x8ac&¶ëgÝ\\x10K\\x95ŵêc\\x98æ\\x98eOl´(Åæ-Åñ\\x8c5\\x1dÖ«ö`\\x14¨\\x8a:S\\x93²Z·Æã\\x121VSLV\\x1fË\\x94F\\x99%ñ¸D\\x87÷3\\x15b\\x06H\\x06H\\x06H\\x06H\\x06H\\x06H\\x06Èi8þ\\x03\\x8aÎs´s4I×\\x00\\x00\\x00\\x00IEND®B`\\x82\n'

正确地将该字符串转换回二进制并获得原始PNG图像的最佳方法是什么


Tags: x1bx00x03x7fx05x1ax8fx99
1条回答
网友
1楼 · 发布于 2024-06-16 09:40:23
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np

# initializing string  
Data = 'your string'
  
# Converting String to binary 
res = ''.join(format(ord(i), 'b') for i in Data) 
  
# printing result  
print("The string after binary conversion : " + str(res))
plt.imsave('filename.png', np.array(data).reshape(50,50), cmap=cm.gray)

一些很好的链接 https://www.geeksforgeeks.org/python-convert-string-to-binary/

How can I write a binary array as an image in Python?

相关问题 更多 >