C# Guid转Base64字符串
Guid有16个字节,生成的字符串去掉-也有32个字符
如果将这16个字节中途转成base64字符串,长度就能缩短到22,缩短了将近三分之一
发现一个小问题,Base64有+/这2个符号,url编码的时候可能会把+给整成空格,因此需要把他们转成其他字符,省的出问题
扩展方法:
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()).TrimEnd('=').Replace('+', '_').Replace('/', '-'); } }
使用方法:
string id = Guid.NewGuid().ToBase64();
标签:
C#学习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言