16
より高いベースで16進IDを表すことができます 文字列表現を短くします。 Rubyには、2
のベースを操作するためのサポートが組み込まれています。 36
まで 。
b36 = '4b3fc1400de0690bf2000001'.hex.to_s(36)
# => "29a6dblglcujcoeboqp"
24文字の文字列に戻すには、次のようにします。
'%024x' % b36.to_i(36)
# => "4b3fc1400de0690bf2000001"
より良い「圧縮」を実現するには、36
よりも高いベースでIDを表すことができます。 。それを支援するRubyライブラリがあります。 all-your-base
gemはそのようなライブラリの1つです。
ベースの62
をお勧めします 0-9
のみを使用するための表現 、a-z
およびA-Z
デフォルトでURLセーフであることを意味する文字。