スペースの点で最も効率的な URL エンコード方法を探しています。生のバイナリ (base2) は、より小さく、URL に対して安全な base16 で表すことができますが、base64 はさらに効率的です。ただし、通常の base64 エンコーディングは URL セーフではありません....
では、URL に対しても安全な最小のエンコード方法は何ですか?
これが、Base64 URL エンコーディング バリアントの目的です。
+
が に変更され-
、/
が に変更されることを除いて、同じ標準の Base64 アルファベットを使用し_
ます。
最新の Base64 実装のほとんどは、この代替エンコーディングをサポートします。そうでない場合は、通常、デコードする前に Base64 入力を検索/置換するか、ブラウザに送信する前に出力を検索/置換するだけです。
通常の base 64 の代わりに 62 文字表現を使用できます。これにより、YouTube のような URL が得られます: http://www.youtube.com/watch?v=0JD55e5h5JM
文字列をデータベースの数値 ID にマップする必要がある場合は、このページで提供されている PHP 関数を使用できます。
http://bsd-noobz.com/blog/how-to-create-url-shortening-service-using-simple-php
または、数値 ID を短い URL 文字列に直接変換する必要がある場合は、次の URL を参照してください: http://kevin.vanzonneveld.net/techblog/article/create_short_ids_with_php_like_youtube_or_tinyurl/