C#中字符数组,字节数组和string之间的转化
转自:http://blog.csdn.net/wangxiaoqin00007/article/details/17675419
NDC(NetworkDiskClient)的界面和后台程序之间用Socket通信,发送命令。
环境:界面:C# winform
后台:Vc++,消息通知
网络通信,C#是通过网络字节流进行传输的,传输内容是有报文头的Protobuf。Net消息。报文头是struct结构体,先转化成byte[],protobuf消息就先转换为内存流,再stream.ToArray[]转化为字节数组,就可以由Socket传输。
字符串string和内存流MemoryStream及比特数组byte[]互转比较
定义string变量为str,内存流变量为ms,比特数组为bt
.字符串转比特数组
()byte[] bt=System.Text.Encoding.Default.GetBytes("字符串");
()byte[] bt=Convert.FromBase64String("字符串");
.字符串转流
()MemoryStream ms=new MemoryStream(System.Text.Encoding.Default.GetBytes("字符串"));
()MemoryStream ms=new MemoryStream(Convert.FromBase64String("字符串"));
.流转比特数组
()byte[] bt=ms.ToArray();
()MemoryStream ms=new MemoryStream();ms.Write(bt,,ms.Length);
.流转字符串
()string str=Convert.ToBase64String(ms.ToArray());
()string str=System.Text.Encoding.Default.GetString(ms.ToArray());
.比特数组转字符串
()string str=System.Text.Encoding.Default.GetString(bt);
()string str=Convert.ToBase64String(bt);
.比特数组转流
()MemoryStream ms=new MemoryStream(bt);
()MemoryStream ms=new MemoryStream();ms.Read(bt,,bt.Lenght);
C#中字符数组,字节数组和string之间的转化的更多相关文章
- java字符数组char[]和字符串String之间的转换
java字符数组char[]和字符串String之间的转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 使用String.valueOf()将字符数组转换成字符串 void (){ cha ...
- DB2中字符、数字和日期类型之间的转换
DB2中字符.数字和日期类型之间的转换 一般我们在使用DB2或Oracle的过程中,经常会在数字<->字符<->日期三种类 型之间做转换,那么在DB2和Oracle中,他们分别 ...
- Java中InputStream和String之间的转化
https://blog.csdn.net/lmy86263/article/details/60479350 在Java中InputStream和String之间的转化十分普遍,本文主要是总结一下转 ...
- C#中char[]与string之间的转换;byte[]与string之间的转化
目录 1.char[]与string之间的转换 2.byte[]与string之间的转化 1.char[]与string之间的转换 //string 转换成 Char[] string str=&qu ...
- Java中文件与字节数组转换
注:来源于JavaEye 文件转化为字节数组: http://www.javaeye.com/topic/304980 /** * 文件转化为字节数组 * * @param file * @retur ...
- C# 字符串到字节数组,字节数组转整型
; , ); byte[] bytes = BitConverter.GetBytes(num);//将int32转换为字节数组 num = BitConverter.ToInt32(bytes, ) ...
- php中字符与字节的区别
字符: 字符是可使用多种不同字符方案或代码页来表示的抽象实体.例如,Unicode UTF-16 编码将字符表示为 16 位整数序列,而 Unicode UTF-8 编码则将相同的字符表示为 8 位字 ...
- byte[] 数组和字符串的转换,与byte[] 数组和int类型的之间的转化
我们先来看看byte bool int ushort 等的定义 首先时byte[]数组与string之间的转换 string 转换位byte[] 数组 string str = "1-1 ...
- java中字符与字节的编码关系
在 GB 2312 编码或 GBK 编码中,一个英文字母字符存储需要1个字节,一个汉字字符存储需要2个字节. 在UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节. ...
随机推荐
- oracle 存储过程学习感悟
1.跟大白话差不多 2.if...then.... else ....写的比较多 3.调用存储过程命令:execute procedure_name 4.调用存储函数命令:select '0' str ...
- Bootstrap学习笔记(5)--实现Bootstrap导航条可点击和鼠标悬停显示下拉菜单
实现Bootstrap导航条可点击和鼠标悬停显示下拉菜单 微笑的鱼 2014-01-03 Bootstrap 5,281 次围观 11条评论 使用Bootstrap导航条组件时,如果你的导航条带有下拉 ...
- C语言 · 图形输出
算法提高 图形输出 时间限制:1.0s 内存限制:512.0MB 编写一程序,在屏幕上输出如下内容: X | X | X ---+---+--- | | ---+---+--- O ...
- oozie调度中的重试和手工rerun一个workflow
在oozie中有Bundle.Coordinator和Workflow三种类型的job,他们之间可以有以下包含关系. Bundle > Coordinator > Workflow. 1. ...
- python解析文本文件演示样例
目的:查找文本中还有Sum/Avg的行中低三个竖线后第一个浮点数 思路:先使用python读取文本中一行,然后切割字符串.查找含有Sum/Avgkeyword的行.取出想要的结果 文本局部: .... ...
- MyBatis应用程序根据XML配置文件创建SqlSessionFactory
MyBatis应用程序根据XML配置文件创建SqlSessionFactory,SqlSessionFactory在根据配置,配置来源于两个地方,一处是配置文件,一处是Java代码的注解,获取一个Sq ...
- QTreeWidget 获取被双击的子项的层次路径
from PyQt5.QtWidgets import (QApplication, QWidget, QHBoxLayout, QTreeWidget, QTreeWidgetItem, QGrou ...
- TCP通信服务端及客户端代码
Java TCP通信使用的是Socket(客服端)和ServerSocket(服务端),具体代码如下. server端代码: import java.io.BufferedReader; import ...
- 性能测试工具LoadRunner中进程运行和线程运行区别
loadrunner controller将使用驱动程序mmdrv运行Vuser.用户可以在controller的run-time setting中选择Vuser的运行方式, 是多进程方式or多线程方 ...
- python2迁移python3的问题
▌使用 pathlib 模块来更好地处理路径 pathlib 是 Python 3默认的用于处理数据路径的模块,它能够帮助我们避免使用大量的 os.path.joins语句: from pathlib ...