有没有那位大哥大姐,能不能帮我解释一下下这个函数的意思,加色部分能不能多加详尽一些,非常感谢了 public static string OutString(string instr, int WordCount)
{
byte[] mybyte = System.Text.Encoding.Default.GetBytes(instr);
if (mybyte.Length > WordCount)
{
outstr = new StringBuilder();
for (int i = 0; i < instr.Length; i++)
{
byte[] tempByte = System.Text.Encoding.Default.GetBytes(outstr.ToString()); if (tempByte.Length < WordCount * 2)
{
outstr.Append(instr.Substring(i, 1));
}
else
{
break;
}
}
return outstr.ToString();
}
else
{
return instr;
}
{
byte[] mybyte = System.Text.Encoding.Default.GetBytes(instr); //这个其实就是转码将String转为byte数组
if (mybyte.Length > WordCount) //判断byte的长度,如果大于传进来的整数执行
{
outstr = new StringBuilder(); //不知道你的outstr在那李定义的
for (int i = 0; i < instr.Length; i++)
{
byte[] tempByte = System.Text.Encoding.Default.GetBytes(outstr.ToString()); //又是转码
if (tempByte.Length < WordCount * 2) //又一个if判断如果byte数组长度小于传进来参数的两倍执行下面的if
{
outstr.Append(instr.Substring(i, 1)); //这里是追加到outstr,但是将instr进行了切割之后追加的
}
else
{
break; //终止
}
}
return outstr.ToString(); //返回outstr
}
else
{
return instr; //如果第一次转码的byte长度小于wordcount则,返回instr
}
}
获取instrASCII码
假如instr为1的话
mybyte 就是49
byte[] mybyte = System.Text.Encoding.Default.GetBytes(instr); //用的是默认编码
//获取输入的字节 字节是根据系统的编码转换为字节数据
byte[] mybyte = System.Text.Encoding.Default.GetBytes(instr); //用默认字符集将字符串读到myByte字节数组中byte[] tempByte = System.Text.Encoding.Default.GetBytes(outstr.ToString()); //诨名类似,也是将outstr读到tempByte字节数组中。