आप एक हेक्साडेसिमल आईडी को 16
. से ऊपर के आधार पर प्रदर्शित कर सकते हैं इसके स्ट्रिंग प्रतिनिधित्व को छोटा बनाने के लिए। रूबी के पास 2
. से आधारों के साथ काम करने के लिए अंतर्निहित समर्थन है 36
. तक ।
b36 = '4b3fc1400de0690bf2000001'.hex.to_s(36)
# => "29a6dblglcujcoeboqp"
इसे वापस 24-वर्ण वाली स्ट्रिंग में बदलने के लिए आप कुछ इस तरह कर सकते हैं:
'%024x' % b36.to_i(36)
# => "4b3fc1400de0690bf2000001"
बेहतर "संपीड़न" प्राप्त करने के लिए आप 36
. से अधिक आधार में आईडी का प्रतिनिधित्व कर सकते हैं . रूबी पुस्तकालय हैं जो इसमें आपकी सहायता करेंगे। all-your-base
मणि एक ऐसा पुस्तकालय है।
मेरा सुझाव है कि आधार 62
प्रतिनिधित्व के रूप में यह केवल 0-9
. का उपयोग करता है , a-z
और a-z
वर्ण जिसका अर्थ है कि यह डिफ़ॉल्ट रूप से URL सुरक्षित है।