信息发布→ 登录 注册 退出

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

发布时间:2025-11-03

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

.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 存储等场景。 基本上就这些。选择合适的方法取决于你处理的是文本还是二进制数据。
标签:# 的是  # 关键在于  # 可能出现  # 则会  # 转换为  # 英文  # 推荐使用  # 两种  # 二进制数  # js  # ASCII  # 字符串  # red  # .net  # 多语言  # 字节  # 编码  # json  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!