public static byte[] StrToByteArray(string s)
{
List<byte> value = new List<byte>(); foreach (char c in s.ToCharArray())
{
value.Add(Convert.ToByte(c));
}
return value.ToArray();
}这是将一个字符串转化成一个字节数组的方法。
举个例子,如下: private void button1_Click(object sender, EventArgs e)
{
byte[] tarray = StrToByteArray("1234");
}那么我得到的数组tarray 的4个元素分别是—>[0]49
[1]50
[2]51
[3]52我现在想实现一个与StrToByteArray逆向的一个方法。也就是说穿进去byte数组,返回来的是字符串。
举个例子(在上个例子基础上) private void button1_Click(object sender, EventArgs e)
{
byte[] tarray = StrToByteArray("1234");
//这个时候我调用YYY方法,参数是tarray,返回的值应该是“1234”
string y = YYY(tarray );
}希望高手帮忙写一下这个YYY方法。
感激不尽!!!!!
{
string result = "";
foreach (byte b in bb)
{
result += Convert.ToChar(b);
}
return result;
}
public static string YYY (byte[] s)
{
//应该怎么写?
return ;
}试着写了下 没成功 基础有限
{
protected void Page_Load(object sender, EventArgs e)
{
byte[] tarray = StrToByteArray("1234");
foreach (byte c in tarray)
{
Response.Write(c + "<br>");
}
string result = ByteArrarToStr(tarray);
Response.Write("result:" + result); } private string ByteArrarToStr(byte[] tarray)
{
string re = "";
foreach (byte c in tarray)
re += Convert.ToChar(c).ToString();
return re;
} public static byte[] StrToByteArray(string s)
{
List<byte> value = new List<byte>(); foreach (char c in s.ToCharArray())
{
value.Add(Convert.ToByte(c));
}
return value.ToArray();
} }
public static string ByteToStr(byte[] bytes)
{
string rtn = "";
foreach (var item in bytes)
{
rtn += (char)item;
}
return rtn;
}
// 字符串转字节数组
public static byte[] StrToByteArray(string s)
{
return unicode.GetBytes(s);
}
// 字节数组转字符串
public static string ByteArrayToStr(byte[] bytes)
{
return unicode.GetString(bytes);
}除了Unicode还有如UTF8之类其他一些编码格式,你可以去MSDN看看
这个不是String自带的构造函数么
能用这个么
byte[] bs=System.Text.Encoding.ASCII.GetBytes(s);
string ss=System.Text.Encoding.ASCII.GetString(bs);
文字有编码你不知道吗?Convert.ToByte方法多字节字符会越界抛溢出异常你不知道吗?