.NET怎么将字节数组(byte[])和字符串相互转换

字符串与字节数组转换需选正确编码,UTF-8支持多语言,避免ASCII处理中文;互转时编码须一致防乱码,非文本数据推荐用Base64确保完整性。

.net怎么将字节数组(byte[])和字符串相互转换

.NET 中将字节数组(byte[])和字符串相互转换,关键在于编码方式的选择。常见的编码有 UTF-8、UTF-16、ASCII 等。下面介绍两种基本操作的方法。

字符串转 byte[]

使用 Encoding 类将字符串按照指定编码转换为字节数组。

UTF-8 是最常用的编码,支持多语言且兼容性好。 避免使用 ASCII 编码处理中文等非英文字符,否则会丢失数据。

示例代码:

string text = "Hello 你好";byte[] bytes = System.Text.Encoding.UTF8.GetBytes(text);

byte[] 转字符串

将字节数组还原为字符串时,必须使用与编码时相同的 Encoding,否则可能出现乱码。

示例代码:

byte[] bytes = { 72, 101, 108, 108, 111 }; // "Hello" 的 UTF-8 字节string text = System.Text.Encoding.UTF8.GetString(bytes);

注意:如果字节数组包含非文本数据(如图片、加密数据),直接转字符串会导致不可读字符或信息损坏。这种情况下应使用 Base64 编码保存为字符串。

使用 Base64 作为中间格式(推荐用于二进制数据)

当需要将任意 byte[] 安全地表示为字符串(比如传输或存储),推荐使用 Base64。

示例:

// byte[] 转 Base64 字符串string base64String = Convert.ToBase64String(bytes);// Base64 字符串转回 byte[]byte[] restoredBytes = Convert.FromBase64String(base64String);

这种方式确保数据完整性,适合网络传输、JSON 存储等场景。基本上就这些。选择合适的方法取决于你处理的是文本还是二进制数据。

以上就是.NET怎么将字节数组(byte[])和字符串相互转换的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1441195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 17:50:20
下一篇 2025年12月17日 17:50:30

相关推荐

发表回复

登录后才能评论
关注微信