字符与字节的转化

有一段这样的代码:把图片用二进制的方式读出来。
FileStream fs = new FileStream(@"D:/22-11-46-3-524454584.jpg",FileMode.Open,FileAccess.Read);
byte[] mydata = new byte[fs.Length];
int Length = Convert.ToInt32(fs.Length);
fs.Read(mydata,0,Length);
fs.Close();
我想把读出来的字节 mydata 转换成 字符串,请问该怎么转阿
网友回复:用base64编码
网友回复:救命啊,,你读出来的是位图信息,转换成字符串,除非你自己定义格式化方法.否则出来的都是你看不懂的东西
网友回复:Convert.ToBase64String
转回Convert.FromBase64String
网友回复:System.Text.Encoding.UTF8.GetString
网友回复:楼上请不要误导,非字符编码字节数组不可能这样转字符串的
网友回复:还可以用十六进制,转回麻烦些
网友回复:mark
网友回复:sorry,只看标题了....
网友回复:是这样吗?Convert.ToBase64String(mydata)
可是测试之后总是无响应阿。
网友回复:哦,可以了,谢谢!
网友回复:mark~
网友回复:/// <summary>

/// 将文本字符串转换成带,号分离的二进制字符串
/// </summary>
/// <param name="strContent"> 文本字符串 </param>
/// <returns> 带,号分离的二进制字符串 </returns>
private string strTextTostrBin(string strText)
{
byte[] bytearr=null;

string stringtobin="";
System.Text.Encoding encoding = System.Text.Encoding.UTF8;
bytearr=encoding.GetBytes(strText);

for(int i=0;i <bytearr.Length;i )
{
stringtobin ="," bytearr[i].ToString();
}
return stringtobin.Substring(1);

}

/// <summary>
/// 将带,号分离的二进制字符串转换成文本字符串
/// </summary>
/// <param name="strBin"> 带,号分离的二进制字符串 </param>
/// <returns> 文本字符串 </returns>
private string strBinTostrText(string strBin)
{
string [] bintostr=strBin.Split(',');
Array binArray=Array.CreateInstance(Type.GetType("System.Byte"),bintostr.Length);
for(int i=binArray.GetLowerBound(0);i <=binArray.GetUpperBound(0);i )
{
binArray.SetValue(byte.Parse(bintostr[i] ""),i);
}

byte[] strtobin=new byte[bintostr.Length];
for(int i=binArray.GetLowerBound(0);i <=binArray.GetUpperBound(0);i )
{
strtobin[i]=(byte)binArray.GetValue(i);
}
System.Text.Encoding encoding = System.Text.Encoding.UTF8;
return encoding.GetString(strtobin);
}
 

你可能感兴趣的:(String,测试,null,byte,encoding)