त्वरित प्रश्न। मैं ऊपरी और निचले केस अक्षरों का उपयोग कर संख्याओं की एक स्ट्रिंग को छोटा करने के लिए पायथन में एक एन्कोडर खोजने या लिखने की कोशिश कर रहा हूं। संख्यात्मक तार कुछ इस तरह दिखते हैं:एक संख्यात्मक स्ट्रिंग को एक छोटी अल्फान्यूमेरिक स्ट्रिंग में एन्कोड करना, और फिर
20120425161608678259146181504021022591461815040210220120425161608667
लंबाई हमेशा समान होती है।
मेरे प्रारंभिक सोचा इस स्ट्रिंग कुछ है कि अधिक इस तरह दिखता में छोटा करने के लिए अपर और लोअर केस अक्षरों और संख्याओं का उपयोग करने के लिए कुछ सरल एनकोडर लिखा था:
a26Dkd38JK
कि पूरी तरह से मनमाने ढंग से किया गया था, सिर्फ बनने की कोशिश कर जितना संभव हो उतना स्पष्ट करें। मुझे यकीन है कि ऐसा करने के लिए वास्तव में एक शानदार तरीका है, शायद पहले से ही बनाया गया है। शायद यह पूछने के लिए एक शर्मनाक सवाल है।
इसके अलावा, मुझे छोटी स्ट्रिंग लेने और इसे लंबे संख्यात्मक मान में बदलने में सक्षम होना चाहिए। क्या मुझे कुछ लिखना चाहिए और कोड पोस्ट करना चाहिए, या क्या यह एक लाइन है जो पाइथन के फ़ंक्शन में बनाई गई है जिसे मुझे पहले से ही पता होना चाहिए?
धन्यवाद!
import base64
def num_to_alpha(num):
num = hex(num)[2:].rstrip("L")
if len(num) % 2:
num = "0" + num
return base64.b64encode(num.decode('hex'))
यह पहली बार एक bytestring में पूर्णांक बदल जाता है और उसके बाद बेस 64 वह कूटबद्ध:
[बेस 64] (http://docs.python.org/library/base64.html) – JBernardo
जेबर्नर्डो ने इसे दबाया। इसे एक उत्तर के रूप में पोस्ट करें :) !! –
यह एक अच्छी बात है जिसे आप स्वयं कोड लिखने और इसे यहां पोस्ट करने की पेशकश कर रहे हैं। – Julian