में प्रत्येक 76 वर्णों के बाद न्यूलाइन कैरेक्टर डालने का प्रयास मैं बिटमैप छवियों को बेस 64 स्ट्रिंग में बाइनरी ब्लॉब्स के रूप में डेटाबेस में डालने से पहले कनवर्ट करने की कोशिश कर रहा हूं। बेस 64 स्ट्रिंग को इस तरह से एन्कोड किया जाना चाहिए कि प्रत्येक 76 वर्णों के बाद उनका एक नया रेखा चरित्र हो। ऐसा करने का सबसे अच्छा पायथन तरीका क्या है?बेस 64 स्ट्रिंग
उत्तर
'\n'.join(s[pos:pos+76] for pos in xrange(0, len(s), 76))
के बाद से Base64 एक निश्चित लाइन की लंबाई (64 या 76 वर्ण, पर which version you look at निर्भर करता है) जनादेश, पुस्तकालय कि Base64 स्ट्रिंग का उत्पादन करना चाहिए पहले से ही है कि (या कम से कम करने के लिए एक विकल्प है) है।
आप लाइन ब्रेक चाहते हैं, सीधे बेस 64 पैकेज का उपयोग नहीं करते, ईमेल में से एक का उपयोग:
import email
print email.base64MIME.encode(your_string)
यह इनकोडिंग स्ट्रिंग विभाजित हो जाते हैं प्रत्येक 76 वर्ण
अजगर संस्करण के लिए 3:
import base64
base64.encodebytes(s)
https://docs.python.org/3/library/base64.html#base64.encodebytes
एनकोड बाइट्स जैसी वस्तु है, जो मनमाने ढंग से बाइनरी डेटा शामिल कर सकते हैं, और बेस 64 एन्कोडेड डेटा वाली बाइट्स लौटने के लिए, नई-पंक्तियों के साथ (ख '\ n') उत्पादन के हर 76 बाइट्स के बाद सम्मिलित है, और यह सुनिश्चित करना कि वहाँ आरएफसी 2045 (एमआईएमई) के अनुसार, एक पिछली नई लाइन है।
उदाहरण:
>>> print(base64.encodebytes(b'a' * 100).decode())
YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==
>>>
के लिए अजगर संस्करण 2:
import base64
base64.encodestring(s)
http://docs.python.org/library/base64.html
एनकोड स्ट्रिंग रों है, जो मनमाने ढंग से बाइनरी डेटा शामिल कर सकते हैं, और बदले एक स्ट्रिंग युक्त एक या बेस 64-एन्कोडेड डेटा की अधिक लाइनें। एन्कोडेस्ट्रिंग() एक स्ट्रिंग देता है जिसमें बेस 64-एन्कोडेड डेटा की एक या अधिक पंक्तियां होती हैं जिसमें हमेशा एक अतिरिक्त पिछली नईलाइन ('\ n') शामिल होती है।
संस्करण 2 के लिए दस्तावेज़ निश्चित रूप से अधिक स्पष्ट रूप से लिखे जा सकते हैं, लेकिन यह वही है जो आप चाहते हैं।
उदाहरण:
>>> print base64.encodestring('a'*100)
YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==
>>>
आप सख्त एन्कोडिंग का उपयोग करना चाहिए। इससे एक नई लाइन
'your_string_goes_here'.encode('base64', 'strict')
- 1. बेस 64 स्ट्रिंग
- 2. बेस 64
- 3. बेस 64
- 4. बेस 64
- 5. बेस 64 स्ट्रिंग अमान्य वर्ण त्रुटि फेंकने
- 6. डीकोड बेस 64 स्ट्रिंग जावा 5
- 7. बेस 64 स्ट्रिंग से छवि आयाम निकालें
- 8. मार्कर बेस 64 एन्कोडेड स्ट्रिंग का उपयोग
- 9. बेस 64 अजगर 2.7
- 10. बेस 64 छवि डेटा
- 11. इनपुट मान्य बेस -64 स्ट्रिंग नहीं है क्योंकि इसमें गैर-बेस 64 वर्ण
- 12. क्या बेस 64 मानकीकृत है?
- 13. बेस 64 एन्कोडिंग छवि
- 14. एनकोड बेस 64
- 15. बेस 64 डिकोडिंग 3
- 16. डीकोडिंग बेस 64 छवि
- 17. PHP कल्पना - बेस 64
- 18. बेस 64 और JSON
- 19. बाइनरी डेटा संकुचित बेस 64
- 20. जावा - छवि को बेस 64
- 21. जावास्क्रिप्ट बेस 64 एन्कोडिंग यूटीएफ 8 स्ट्रिंग वेबकिट/सफारी
- 22. बिटमैप को बेस 64 स्ट्रिंग में कैसे परिवर्तित करें?
- 23. एंड्रॉइड में छवि में बेस 64 स्ट्रिंग को कनवर्ट करना
- 24. फोनगैप - बेस 64 स्ट्रिंग से छवि फ़ाइल कैसे उत्पन्न करें?
- 25. XmlSerializer, बेस 64 सांकेतिक शब्दों में बदलना एक स्ट्रिंग सदस्य
- 26. बाइनरी फ़ाइल को बेस 64 स्ट्रिंग में परिवर्तित करना
- 27. आप स्ट्रिंग को बेस 64 में .net फ्रेमवर्क 4
- 28. जावास्क्रिप्ट स्ट्रिंग प्रारूप में GUID को बेस 64
- 29. क्या बेस 64 एन्कोडेड स्ट्रिंग में व्हाइटस्पेस हो सकता है?
- 30. मैं बेस 64 एन्कोडेड स्ट्रिंग को कैसे डीकोड करूं?
यह एक नई लाइन जोड़ देगा। एक लंबी स्ट्रिंग आज़माएं और आप देखेंगे। साथ ही, "... 'सख्त', जिसका अर्थ है कि एन्कोडिंग त्रुटियां यूनिकोड एरर बढ़ाती हैं)" https://docs.python.org/2/library/stdtypes.html?highlight=encode#str.encode –