पर डीकोड बेस 64 स्ट्रिंग मैं एक पायथन स्क्रिप्ट तैयार करूंगा जो बेस 64 स्ट्रिंग को बाइट (या हेक्स मानों की सरणी) में डीकोड करेगा।बाइट सरणी
मेरी परियोजना का एम्बेडेड पक्ष एक माइक्रो नियंत्रक है जो कच्चे बाइट से शुरू होने वाली बेस 64 स्ट्रिंग बनाता है। स्ट्रिंग में कुछ नो-प्रिंट करने योग्य वर्ण होते हैं (इस कारण से मैं बेस 64 एन्कोडिंग चुनता हूं)।
पीसी पक्ष पर मुझे बेस 64 स्ट्रिंग को डीकोड करने और मूल कच्चे बाइट को पुनर्प्राप्त करने की आवश्यकता है।
base64Packet = raw_input('Base64 stream:')
packet = base64.b64decode(base64Packet)
sys.stdout.write("Decoded packet: %s"%packet)
जिसके परिणामस्वरूप स्ट्रिंग एक वर्ण स्ट्रिंग है कि कुछ नहीं प्रिंट करने योग्य चार होता है:
मेरे स्क्रिप्ट अजगर 2.7 और बेस 64 पुस्तकालय उपयोग करता है।
क्या बेस 64 स्ट्रिंग को बाइट (या हेक्स) मानों को डीकोड करने का कोई तरीका है?
अग्रिम धन्यवाद!
आपके पास पहले से ही * है * यह है कि। आप किस आउटपुट की उम्मीद कर रहे थे और आप क्या देखते हैं? शायद आप मुद्रण करते समय '% r' का उपयोग करना चाहते थे? –
@MartijnPieters: डिकोडिंग के बाद मेरे पास एक पाइथन सूची होगी जिसमें प्रत्येक एकल बाइट होता है। – Federico
आपको इसकी आवश्यकता क्यों है? क्या आपको बाइट्स में हेरफेर करने की ज़रूरत है? एक 'str' ऑब्जेक्ट पहले से ही अनुक्रम है, आप' बाइट [इंडेक्स] 'के साथ प्रत्येक बाइट को संबोधित कर सकते हैं, उदाहरण के लिए, या पैकेट में बाइट के लिए स्ट्रिंग पर लूप: '। –