Guid有16个字节,生成的字符串去掉-也有32个字符
如果将这16个字节中途转成base64字符串,长度就能缩短到22,缩短了将近三分之一
扩展方法:
public static class GuidExtend { /// <summary> /// 将guid转成Base64字符串 /// </summary> public static string ToBase64(this Guid guid) { //Guid有16字节,转Base64要3的倍数,因此补2个字节,共18个字节,每3个字节4字符,共18/3*4=24字符, //因为补了2个字节,所以最后2个字符固定是==,可以直接忽略 return Convert.ToBase64String(guid.ToByteArray()).Substring(0, 22); } }
使用方法:
string id = Guid.NewGuid().ToBase64();