通常,人们必须在URL中编码大(例如128或160位)数字.例如,许多Web应用程序对UUID使用md5(random()).
如果您需要将该值放在URL中,常见的方法是将其编码为十六进制字符串.
但显然十六进制编码不是一个非常严格的编码.还有哪些其他方法可以很好地适应URL?
我会使用"URL和文件名安全"Base 64 Alphabet.
Base 64使用两个字符集.
Data: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ URLs: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_
要使用base 64,您需要将值填充为3字节长(24位)的倍数,然后将这24位分成4个6位字节.每个6位值按上面给出的字符串中的位置查找.
如果一切顺利,您的最终base64值将始终是4个字符长的倍数,并解码回3(8位)字节长的倍数.
根据您使用的语言,很多都具有内置的编码和解码功能.