1

実際にAWSでホストされている一連の画像をウェブサイトで提供しており、それらはすべて0E261DDA-CBB7-4B99-B863-6D7640DC2FD8.jpgのような名前が付けられています。簡単にするために、当社のWebサイトを介したこれらの画像へのパスは、基本的に画像の名前を同じに保つことです。ダッシュを削除して、画像を少し短くします。

ただし、Twitterでこれらの画像へのパスを共有するので、文字列をさらに短くしたいのですが、URL短縮にデータベースを使用したくありません(自分でローリングするか、他の人を使用する) 。むしろ、文字列にロスレス圧縮スキームを設定したいだけです。

AWS名が明らかに16進文字のみを使用しているという事実を考えると、(ダッシュを削除した後)それをASCIIに変換すると、少なくとも少し圧縮され、実際にルックアップを簡単に戻すことができるように思われますサーバー上のパス。

前述の16進文字列と同等のURLセーフASCIIを吐き出すことができるコードを少し見たことがありますか?

4

1 に答える 1

1

より高いベースを使用してください。16進数は基数16です。より高い基数をいくつか使用できます(URL短縮では36が一般的ですが、最大62まで使用できます(10桁、大文字26文字、小文字26文字)。

ベース16の文字列:

0E261DDACBB74B99B8636D7640DC2FD8

ベース36:

U5LC6FOS2F9E70WW3KAT3KK8

六十二進法(ビットの信頼性が低く、大文字と小文字が区別されます):

QhJL1gbuZhsyJOIQ3ia0u
于 2013-02-08T19:00:15.563 に答える