C# 如何进行Base64编码和解码 - Convert类的静态方法
发布时间:2025-12-03 18:10
发布者:网络
浏览次数:C#中用Convert类进行Base64编解码需先通过Encoding.UTF8.GetBytes()将字符串转为字节数组,再调用Convert.ToBase64String()编码;解码则反向操作,且必须保持UTF-8编码一致,否则中文会乱码。

在C#中,使用 Convert 类的静态方法进行
Base64 编码和解码是最常用、最直接的方式,无需额外引用或安装包,.NET 框架原生支持。
将字符串编码为 Base64 字符串
需先将字符串转为字节数组(指定编码,通常用 UTF-8),再调用 Convert.ToBase64String():
- 字符串 → Encoding.UTF8.GetBytes() → byte[]
- byte[] → Convert.ToBase64String() → Base64 字符串
示例:
神笔马良
神笔马良 - AI让剧本一键成片。
320
查看详情
string original = "Hello 世界";byte[] bytes = Encoding.UTF8.GetBytes(original);
string base64 = Convert.ToBase64String(bytes); // 得到 "SGVsbG8g5L2g5aW9"
将 Base64 字符串解码为原始字符串
反向操作:先用 Convert.FromBase64String() 解码为字节数组,再用对应编码还原为字符串:
- Base64 字符串 → Convert.FromBase64String() → byte[]
- byte[] → Encoding.UTF8.GetString() → 原始字符串
示例:
string base64 = "SGVsbG8g5L2g5aW9";byte[] bytes = Convert.FromBase64String(base64);
string decoded = Encoding.UTF8.GetString(bytes); // 得到 "Hello 世界"
注意编码一致性
编码和解码必须使用相同的字符编码(推荐 UTF-8),否则中文等非 ASCII 字符会乱码:
- 编码时用了 UTF8.GetBytes(),解码时就一定要用 UTF8.GetString()
- 避免混用
ASCIIEncoding或UnicodeEncoding,尤其处理中文时 - Base64 本身不关心内容含义,只对字节流做转换,语义由编码方式决定
异常处理建议
Base64 字符串若格式错误(如长度不是 4 的倍数、含非法字符),FromBase64String() 会抛出 FormatException:
- 可在解码前用正则粗略校验(可选):
^[A-Za-z0-9+/]*={0,2}$ - 更稳妥做法是 try-catch 并提示“无效的 Base64 字符串”
- 注意:空字符串或 null 需提前判断,避免传入
FromBase64String(null)抛出ArgumentNullException
基本上就这些。Convert 类的方法简洁可靠,适合绝大多数场景——只要记住“先转字节、再编/解码”,并保持编码统一,就不会出错。
以上就是C# 如何进行Base64编码和解码 - Convert类的静态方法的详细内容,更多请关注其它相关文章!
# c#
# base64
# 编码
# 字节
# .net
# 抛出
# 与非
# 相关文章
# 可在
# 中文网
# 要用
# 解决问题
# 可选
# 时就
# 再用
# seo规则大全
# 苏州百度搜索关键词排名
# 邵武有效的seo优化
# 海南关键词快速排名
# 奉贤区官方网站优化公司
# 全网营销推广软件有用吗
# 网站推广总监底薪多少
# 花时间去学seo有用吗
# 网站排名优化首推云速捷
# 众赢天下网站建设费用




