C#中字符数组,字节数组和string之间的转化(转)
2015-01-07 15:00
148 查看
原文链接:http://hi.baidu.com/endyli/item/7bf074945de35e1f934f41fe
来源:
NDC(NetworkDiskClient)的界面和后台程序之间用Socket通信,发送命令。
环境:界面:C# winform
后台:Vc++,消息通知
网络通信,C#是通过网络字节流进行传输的,传输内容是有报文头的Protobuf。Net消息。报文头是struct结构体,先转化成 byte[],protobuf消息就先转换为内存流,再stream.ToArray[]转化为字节数组,就可以由Socket传输。
字符串string和内存流MemoryStream及比特数组byte[]互转比较
定义string变量为str,内存流变量为ms,比特数组为bt
1.字符串转比特数组
(1)byte[] bt=System.Text.Encoding.Default.GetBytes("字符串");
(2)byte[] bt=Convert.FromBase64String("字符串");
2.字符串转流
(1)MemoryStream ms=new MemoryStream(System.Text.Encoding.Default.GetBytes("字符串"));
(2)MemoryStream ms=new MemoryStream(Convert.FromBase64String("字符串"));
3.流转比特数组
(1)byte[] bt=ms.ToArray();
(2)MemoryStream ms=new MemoryStream();ms.Write(bt,0,ms.Length);
4.流转字符串
(1)string str=Convert.ToBase64String(ms.ToArray());
(2)string str=System.Text.Encoding.Default.GetString(ms.ToArray());
5.比特数组转字符串
(1)string str=System.Text.Encoding.Default.GetString(bt);
(2)string str=Convert.ToBase64String(bt);
6.比特数组转流
(1)MemoryStream ms=new MemoryStream(bt);
(2)MemoryStream ms=new MemoryStream();ms.Read(bt,0,bt.Lenght);
来源:
NDC(NetworkDiskClient)的界面和后台程序之间用Socket通信,发送命令。
环境:界面:C# winform
后台:Vc++,消息通知
网络通信,C#是通过网络字节流进行传输的,传输内容是有报文头的Protobuf。Net消息。报文头是struct结构体,先转化成 byte[],protobuf消息就先转换为内存流,再stream.ToArray[]转化为字节数组,就可以由Socket传输。
字符串string和内存流MemoryStream及比特数组byte[]互转比较
定义string变量为str,内存流变量为ms,比特数组为bt
1.字符串转比特数组
(1)byte[] bt=System.Text.Encoding.Default.GetBytes("字符串");
(2)byte[] bt=Convert.FromBase64String("字符串");
2.字符串转流
(1)MemoryStream ms=new MemoryStream(System.Text.Encoding.Default.GetBytes("字符串"));
(2)MemoryStream ms=new MemoryStream(Convert.FromBase64String("字符串"));
3.流转比特数组
(1)byte[] bt=ms.ToArray();
(2)MemoryStream ms=new MemoryStream();ms.Write(bt,0,ms.Length);
4.流转字符串
(1)string str=Convert.ToBase64String(ms.ToArray());
(2)string str=System.Text.Encoding.Default.GetString(ms.ToArray());
5.比特数组转字符串
(1)string str=System.Text.Encoding.Default.GetString(bt);
(2)string str=Convert.ToBase64String(bt);
6.比特数组转流
(1)MemoryStream ms=new MemoryStream(bt);
(2)MemoryStream ms=new MemoryStream();ms.Read(bt,0,bt.Lenght);
相关文章推荐
- C#中字符数组,字节数组和string之间的转化
- C#中字符数组,字节数组和string之间的转化
- C#中字符数组,字节数组和string之间的转化
- C#中字符数组,字节数组和string之间的转化
- 【C#】byte[]数组中有值大于127时与string之间的相互转化
- C# double float int string 与 byte数组 相互转化
- C#中char[]与string之间的转换;byte[]与string之间的转化
- 整型和字符数组之间的转换(略带进制的转化)
- C#中List〈string〉和string[]数组之间的相互转换
- C# 中的类型转换之字符串和字符数组之间的转换
- c#怎么将string隐式转换为char C#中char[]与string之间的转换 C# list与数组转换
- 【语言基础】c++ 基本数据类型与字节数组(string,char [] )之间的转化方法
- 字符数组(char[])和String之间的转换
- C#中List〈string〉和string[]数组之间的相互转换
- 关于char[]数组,char*指针,std::string*之间的转化
- C#中List〈string〉和string[]数组之间的相互转换
- C# double float int string 与 byte数组 相互转化
- 完成一程序演示字符数组、C风格字符串、std::string和MFC中的Cstring类型之间的相互转换
- C# 重新对字符数组 List<string>中进行冒泡排序,字符多的在前
- C# 转换uint,byte[],char[],string, short[]<->byte[] 结构体和字节数组转化