首先,你要明白一些概念:
byte和string都是C#的基元类型,编译器可以直接支持。
byte是值类型,而string是引用类型,它们之间的转换
要注意数据溢出。例如,把byte->string是安全的,但是,
string->byte就是不安全的。why? 因为byte只是8位值,而
string可以大过8位值。 byte[]->string
你可以通过循环,把byte[]数组里的值逐个拿出来,累加
到string变量里。
byte和string都是C#的基元类型,编译器可以直接支持。
byte是值类型,而string是引用类型,它们之间的转换
要注意数据溢出。例如,把byte->string是安全的,但是,
string->byte就是不安全的。why? 因为byte只是8位值,而
string可以大过8位值。 byte[]->string
你可以通过循环,把byte[]数组里的值逐个拿出来,累加
到string变量里。
{
ASCIIEncoding encoding=new ASCIIEncoding();
return encoding.GetString(barr);
}
{
string ret="";int IndexOf0=0;
if (ByteArray!=null && ByteArray.Length>0)
{
ret=System.Text.Encoding.Default.GetString(ByteArray);
IndexOf0=ret.IndexOf('\0');
if (IndexOf0>=0 && ret.Length>0)
ret=ret.Substring(0,IndexOf0).Trim();
}
return ret;
}
{
if (str!=null)
return System.Text.Encoding.Default.GetBytes(str);
else
return null;
}
别人也是提供一种思路啊,你可以反过来用。string str = "aaaaaaaaaaaaaaaaaa";
//转换成byte[]
byte[] b = System.Text.Encoding.UTF8.GetBytes(str); //转换回来
string str1 = System.Text.Encoding.UTF8.GetString(b);