これは本当に短い質問だと思いますが、そのポイントがよくわかりません。
URLがBase32でエンコードされているのはなぜですか?それの利点と欠点は何ですか?
「ÓĆ」など、簡単に入力できないものや、テキスト表現がまったくないバイナリデータをカプセル化するために、URLデータをエンコードする必要がある場合があります。それをクエリ文字列の中に入れるのは問題がありました。一部のサーバーはクエリ文字列内のUnicodeテキストを理解しませんが、その状況は確実に改善されています。
したがって、サーバーが正しく解釈できるようにデータを何らかの方法でエンコードする必要があり、アプリケーションは使用方法を認識しています。そのためにBase32が一般的に使用されます。バイナリデータをそのデータのASCIIテキスト表現にエンコードします。元のデータが必要な場合は、デコードされます。
では、なぜbase64ではないのでしょうか。Base64は、ほとんどの場合、エンコード長が短くなります。Base64の弱点は、エンコードに大文字と小文字の両方を使用することです。との間には違いがA
ありa
ます。Base32は1文字の大文字と小文字のみを使用するため、大文字と小文字は区別されません。通常(常にではありませんが)、URLは大文字と小文字を区別せず、Base32を使用するとその概念が維持されます。この区別は、エンコードされたデータを入力したり、読み上げたりする場合に役立ちます。
Base32の欠点は、文字セットがはるかに小さいため、結果として得られるエンコーディングがほとんどの場合長くなることです。