新闻中心
C# 如何进行Base64编码和解码 - Convert类的静态方法
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类的静态方法的详细内容,更多请关注其它相关文章!
# base64
# 网站排名优化首推云速捷
# 花时间去学seo有用吗
# 网站推广总监底薪多少
# 全网营销推广软件有用吗
# 奉贤区官方网站优化公司
# 海南关键词快速排名
# 邵武有效的seo优化
# 苏州百度搜索关键词排名
# seo规则大全
# 再用
# 时就
# 可选
# 解决问题
# 要用
# 中文网
# 可在
# 相关文章
# 与非
# 抛出
# .net
# 字节
# 编码
# c#
# 众赢天下网站建设费用
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
在Runstone环境中高效处理TasteDive API的JSON数据
Golang如何测试channel通信行为_Golang channel通信测试与分析方法
一加手机电池耗电快怎么办_一加手机电池耗电快的解决方法
一加 Nord 5 隐私权限异常_一加 Nord 5 系统安全优化
c++ 命名空间怎么用 c++ namespace使用指南
汽水音乐车机版横屏版7.1 汽水音乐车机版横屏版下载入口
Win10如何清理注册表垃圾 Win10注册表维护与优化指南【慎用】
必由学官方网站入口 必由学学生教师共用登录通道
精准捕获:如何在页面中监听除特定元素外的所有点击事件
58动漫网在线官方网 58动漫网正版动漫入口网址
2026年发布! 美少女养成动作RPG《神剑少女战记》发布实机演示
Node.js 中使用 node-cron 实现定时 API 数据抓取与处理
Golang指针如何与map组合使用_Golang map指针组合实践
如何使用Rector自动化升级旧代码_通过Composer安装和配置Rector进行代码重构
uc手机浏览器网页版入口 uc浏览器手机版便捷登录首页
蛙漫限时开放最深处链接_蛙漫全站漫画会员同款秒开地址
PS5 Pro有点优势但不多! 《燕云十六声》PS5平台与PC性能画面对比
ArrayList与LinkedList核心操作的Big-O复杂度分析
QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口
CSS实现侧边栏导航项全宽圆角悬停背景效果
动漫岛观看全网网 动漫岛在线正版动漫入口
将HTML Canvas内容转换为可上传的图像文件(File对象)
漫蛙官网正版漫画入口 漫蛙2官方网页登录地址
QQ邮箱登录首页官网地址2026 QQ邮箱官方网页入口
TypeScript/J*aScript:高效查找数组中首个唯一ID对象
如何优雅地扩展SprykerGlue后端API授权逻辑,使用spryker/glue-backend-api-application-authorization-connector-extension
Windows 11怎么彻底关闭定位_Windows 11服务中禁用Geolocation
cad怎么合并重叠的线段_cad清理重复重叠线条的操作方法
J*aScript中高效清空DOM列表元素:解决for循环中断与任务管理问题
包子漫画官方网站阅读入口-包子漫画在线漫画官网直达链接
解决 Express.js 中 PUT 请求密码修改失败的路由配置指南
TikTok搜索结果不显示如何解决 TikTok搜索刷新优化方法
Steam官网入口直达 Steam注册及登录步骤
美团外卖商家服务中心入口 美团商家版官网入口
百度网盘网页版入口 百度网盘网页版官方登录网址
如何使用Go和Martini动态服务解码后的图片
Python vgamepad库按键模拟:正确使用XUSB_BUTTON常量
Lar*el如何生成PDF或Excel文件_Lar*el文档导出工具与使用教程
Golang如何实现简单的Web表单_Golang表单提交与验证处理方法
2025俄罗斯Yandex最新入口 官方网站地址及浏览器下载指南
生成rdflib自定义SPARQL函数:参数匹配与实践指南
Safari怎么安装扩展程序 浏览器插件安装与管理方法【详解】
Composer如何在生产环境安全地执行composer update
电脑IP地址怎么查 查看本机IP地址的几种方法
哔哩哔哩忘记密码了怎么找回_哔哩哔哩密码找回方法
LINUX怎么设置定时任务_LINUX crontab配置教程
Win10自动更新怎么关闭 Win10永久关闭系统更新的两种方法【终极版】
Odoo 16:在表单视图中基于当前记录动态修改Tree视图属性
Python中高效访问嵌套字典与列表中的键值对
韩剧圈正版入口页面_韩剧圈官网登录链接


2025-12-03
浏览次数:次
返回列表