C#中字符数组,字节数组和string之间的转化(转)
原文链接: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);
最新文章
- SQL Tuning 基础概述05 - Oracle 索引类型及介绍
- appium过程中的问题
- 【入门】 jpa--实体管理器的基本应用
- JAVA_SE复习(异常)
- temorrow read
- Color the ball
- ButterKnife 绑定 RadioGroup
- Hadoop应用开发实战(flume应用开发、搜索引擎算法、Pipes、集群、PageRank算法)
- Error:Android Source Generator: [sdk] Android SDK is not specified.
- adb devices找不到设备解决办法
- 浅谈我的MongoDB学习(一)
- JDOM生成、解析XML实例
- MySQL之库相关操作
- Flutter 布局(五)- LimitedBox、Offstage、OverflowBox、SizedBox详解
- 如何在github上搭建一个免费的 无限流量的静态网页博客Github pages
- Centos7下关于系统用户密码规则-运维笔记
- 如何在js中将统计代码图标隐藏
- centos6安装opencv2
- 【Social Listening实战】当数据分析遭遇心理动力学:用户深层次的情感需求浮出水面
- git 学习小记