如何编码大量(在URL中)?

max*_*max 4 url encoding http

通常,人们必须在URL中编码大(例如128或160位)数字.例如,许多Web应用程序对UUID使用md5(random()).

如果您需要将该值放在URL中,常见的方法是将其编码为十六进制字符串.

但显然十六进制编码不是一个非常严格的编码.还有哪些其他方法可以很好地适应URL?

Joh*_*ohn 6

我会使用"URL和文件名安全"Base 64 Alphabet.

Base 64使用两个字符集.

Data: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
URLs: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_
Run Code Online (Sandbox Code Playgroud)

要使用base 64,您需要将值填充为3字节长(24位)的倍数,然后将这24位分成4个6位字节.每个6位值按上面给出的字符串中的位置查找.

如果一切顺利,您的最终base64值将始终是4个字符长的倍数,并解码回3(8位)字节长的倍数.

根据您使用的语言,很多都具有内置的编码和解码功能.