c#怎么把byte数组转换为字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#怎么把byte数组转换为字符串相关的知识,希望对你有一定的参考价值。

有两张方法:
方法一:
//字符串转byte
string StringMessage = "How Are you?";
Console.WriteLine("0", StringMessage);
System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();
Byte[] BytesMessage = ASCII.GetBytes(StringMessage);
//byte转字符串
Byte[] BytesMessage;
System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();
String StringMessage = ASCII.GetString( BytesMessage );

方法二:
//字符串转UTF-8 byte
string StringMessage = "Hello World How Are you? Pi /u03C0 Yen /uFFE5";
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
Byte[] BytesMessage = UTF8.GetBytes(StringMessage);
//UTF-8 byte 转字符串
Byte[] BytesMessage;
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
String StringMessage = UTF8.GetString( BytesMessage );
参考技术A 实现字节数组至十六进制字符串转换,这个操作在接收网络数据时非常有用,代码嘛,就一行,就一行,就一行:
string str = BitConverter.ToString(bytes);

(C#)把一个byte数组转换成一个二进制流!

DPFP.Template Template;
byte[] fingerPrintBytes =null;
Templates.Serialize(ref fingerPrintBytes);

我上面的fingerPrintBytes已经获取了数组数据,接着我上面的东西,怎么把fingerPrintBytes转成一个二进制流?
以及转换回来成DPFP.Template的方法!
或者还有其他更好的方法。。。? 提供满意答案者加分!
public class Template : Data

public Template();
public Template(Stream DataStream);


---------------------------------------------------------

public abstract class Data

protected byte[] _Data;

public Data();
public Data(Stream DataStream);

public byte[] Bytes get;
public int Size get;

public void DeSerialize(byte[] ArrayOfBytes);
public void DeSerialize(Stream DataStream);
public byte[] Serialize(ref byte[] ArrayOfBytes);
public Stream Serialize(Stream DataStream);

首先 byte[] 就是二进制流的。
你的意思是不是转换成二进制字符串?

将fingerPrintBytes 代入 bytesTest

strResult就是二进制字符串

//byte[]转为二进制字符串表示
byte[] bytesTest =new byte[]16,18,33;

string strResult=string.Empty;
string strTemp;
for(int i=0;i<bytesTest.Length;i++)

strTemp=System.Convert.ToString(bytesTest[i], 2);
strTemp =strTemp.Insert(0,new string('0',8-strTemp.Length));

strResult+=strTemp;
参考技术A 转换成流
MemoryStream stream = new MemoryStream(fingerPrintBytes);

你的DPFP.Template是什么对象

以上是关于c#怎么把byte数组转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章

(C#)把一个byte数组转换成一个二进制流!

C#里面怎么把二进制转换成byte[]

如何把一个byte数组的数字转换成int

如何把一个byte数组转化为字符串

java里面byte数组和String字符串怎么转换

java里面byte数组和String字符串怎么转换