C#字符串、字节数组和内存流间的相互转换

定义string变量为str,内存流变量为ms,比特数组为bt

 

1.字符串=>比特数组

(1)byte[] bt=System.Text.Encoding.Default.GetBytes("字符串");

(2)byte[] bt=Convert.FromBase64String("字符串");

补充:

System.Text.Encoding.Unicode.GetBytes(str);
System.Text.Encoding.UTF8.GetBytes(str);
System.Text.Encoding.GetEncoding("gb2312").GetBytes(str); //指定编码方式
string str = "中国?ss123?";
byte[] bytes = System.Text.Encoding.Default.GetBytes(str); //gb2312编码 汉字占2个字节、英文字母占1个字节 bytes长度为12
string s = System.Text.Encoding.Default.GetString(new byte[] { bytes[0],bytes[1] });//解码后为“中”
byte[] bytes = {97, 98, 99, 100, 101, 102};  
string str = System.Text.Encoding.ASCII.GetString(bytes); //结果为:abcdef  ASCII码表

      常用方法:

复制代码
复制代码
复制代码
GetString  已重载。 在派生类中重写时,将一个字节序列解码为一个字符串。
GetChars   已重载。 在派生类中重写时,将一个字节序列解码为一组字符。
GetBytes   已重载。 在派生类中重写时,将一组字符编码为一个字节序列。

GetByteCount  已重载。 在派生类中重写时,计算对一组字符进行编码所产生的字节数。
GetCharCount  已重载。 在派生类中被重写时,计算对字节序列进行解码所产生的字符数。

GetDecoder 在派生类中重写时,获取一个解码器,该解码器将已编码的字节序列转换为字符序列。
GetEncoder 在派生类中重写时,获取一个解码器,该解码器将Unicode字符序列转换为已编码的字节序列
复制代码
复制代码
复制代码

 

2.比特数组=>字符串

(1)string str=System.Text.Encoding.Default.GetString(bt);

(2)string str=Convert.ToBase64String(bt);

 

3.字符串=>

(1)MemoryStream ms=new MemoryStream(System.Text.Encoding.Default.GetBytes("字符串"));

(2)MemoryStream ms=new MemoryStream(Convert.FromBase64String("字符串"));

 

4.流=>字符串

(1)string str=Convert.ToBase64String(ms.ToArray());

(2)string str=System.Text.Encoding.Default.GetString(ms.ToArray());

 

5.比特数组=>

(1)MemoryStream ms=new MemoryStream(bt);

(2)MemoryStream ms=new MemoryStream();ms.Read(bt,0,bt.Lenght);

 

6.流=>比特数组

(1)byte[] bt=ms.ToArray();

(2)MemoryStream ms=new MemoryStream();ms.Write(bt,0,ms.Length);
posted @   ChineseMoonGod  阅读(716)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2015-12-16 NuGet学习笔记——初识NuGet及快速安装使用
2015-12-16 WCF视频学习网址
2015-12-16 VS快速生成JSON数据格式对应的实体
2014-12-16 SQL Server 2008下日志清理方法 2
2014-12-16 SQL Server 2008下日志清理方法
2014-12-16 ajax的使用
点击右上角即可分享
微信分享提示