• 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);

  • 相关阅读:
    测试markdown
    Ubuntu 部署 k8s集群
    HTML 表格 各标签使用的标准顺序(心得)
    javascript event(事件对象)详解
    CSS3选择器归类整理
    PHP开发中session无法获取和保存问题解决方法
    表单脚本
    PHP页面跳转三种实现方法
    PHP中关于时间(戳)、时区、本地时间、UTC时间等的梳理
    JS前端将table导出到excel 兼容谷歌 IE 且保留表格样式
  • 原文地址:https://www.cnblogs.com/760044827qq/p/4555217.html
Copyright © 2020-2023  润新知