这篇文章介绍了C#中字符串与字节数组的转换方式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
一、编码(转成字节数组)GetBytes
1、ASII码:字符串中的每个字符用一个字节表示。
每个字符实际上只使用了7位,从00h-7Fh。只能表达128个字符。不能代表汉字,
byte[] b = Encoding.ASCII.GetBytes("yourstring");
Console.Write(string.Join("-", b.Select(p => p.ToString())));
// 得到:121-111-117-114-115-116-114-105-110-103
2、Unicode码:字符串中的每个字符用两个字节表示。
byte[] b = Encoding.Unicode.GetBytes("哈啊a1");
// 得到:200-84-74-85-97-0-49-0
3、简体中文:字符串中的每个中文字符用两个字节表示,其他字符用一个字节表示。
byte[] b = Encoding.GetEncoding("gb2312").GetBytes("哈啊a1");//繁体中文”big5”
Console.Write(string.Join("-", b.Select(p => p.ToString())));
// 得到:185-254-176-161-97-49
UTF-8中,一个汉字对应三个字节,GB2312中一个汉字占用两个字节。
不论何种编码,字母数字都不编码,特殊符号编码后占用一个字节。
二、解码(转成字符串):GetString、GetChars
Encoding.XXX.GetString(byte[] data,[,index,count]);
三、基于Base64(ASCII)编码的字符串与字节数组的转换
1、将指定的字符串(它将二进制数据编码为 Base64 数字)转换为等效的 8 位无符号整数数组。
byte[] bt=Convert.FromBase64String("字符串");
2、将 8 位无符号整数数组的值转换为其用 Base64 数字编码的等效字符串表示形式。
Convert.ToBase64String(byte[] data,[,index,count]);
四、字节数组与字符数组转换
1、字符数组转字节数组
Encoding.XXX.GetEncoder().GetBytes(char[],0.length,byte[],0,true)
2、字节数组转字符数组
Encoding.XXX.GetDecoder().GetChars(byte[],0.length,char[],0)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持得得之家。
织梦狗教程
本文标题为:C#中字符串与字节数组的转换方式


基础教程推荐
猜你喜欢
- 实例详解C#实现http不同方法的请求 2022-12-26
- Unity shader实现高斯模糊效果 2023-01-16
- C#获取指定目录下某种格式文件集并备份到指定文件夹 2023-05-30
- Unity 如何获取鼠标停留位置下的物体 2023-04-10
- C#通过标签软件Bartender的ZPL命令打印条码 2023-05-16
- c# – USING块在网站与Windows窗体中的行为不同 2023-09-20
- C#调用摄像头实现拍照功能的示例代码 2023-03-09
- C#中 Json 序列化去掉null值的方法 2022-11-18
- C#中的Linq to JSON操作详解 2023-06-08
- C# 解析XML和反序列化的示例 2023-04-14