while(i<var)
{
int []arr = new int[var];//每次进入循环都生成int数组,但是只用到了arr[i],改用一个变量就可以了
arr[i] = (charbytes[i]+i) % 127;// 这里应该是个bug吧, % 128
charlist[i] = Convert.ToByte(arr[i]);
i++;
}
string sss = Encoding.UTF7.GetString(charlist);//加密之后的byte数组已经没有意义了,不能再转成string。