byte[] tempBuf = new byte[size]; tempBuf = System.Text.Encoding.Default.GetBytes(str); for (i = size - 1; i >= 0; i--)
{
Data[m++] = tempBuf[i];
}想把字符串转为byte[],但是报错数组越界。在str转tempbuf的时候,本来tempbuf有size个长度,一转后就变1个长度了。改怎么转?是想把str,转成4个字节或2个字节的整数。放进tempbuf[]中、。还有转成byte[]后是按什么字节顺序的呢? 我还要把低字节在前,高字节在后。
{
Data[m++] = tempBuf[i];
}想把字符串转为byte[],但是报错数组越界。在str转tempbuf的时候,本来tempbuf有size个长度,一转后就变1个长度了。改怎么转?是想把str,转成4个字节或2个字节的整数。放进tempbuf[]中、。还有转成byte[]后是按什么字节顺序的呢? 我还要把低字节在前,高字节在后。
byte[] tempBuf = Encoding.UTF8.GetBytes(str); // 这样不是清爽又健康吗?
size是我要指定str转成4个字节的还是2个字节的。。
byte[] Data = new byte[tempBuf.Length]
for (i = 0; i < tempBuf.Length; i+)
{
Data[i] = tempBuf[tempBuf.Length - 1 - i];
}
很有可能.另, 我不太明白 LZ 的意图, 特别是 size 的意思, 可能是人老了, 理解不了年青人的想法了.
转换成byte之后再变成整数?
变成整数之后,还要能推导回去,变回字符串?
{
Data[m++] = tempBuf[i];
}System.Text.Encoding.Default.GetBytes是返回一个新的byte[]的实例,所以你在前面new定义的长度无效。
另外想数组倒序可以
System.Array.Reverse(tempBuf)执行后tempBuf就是原来的数组倒序后的结果
是我说的不明白。就是把编辑框上的数据转为byte后写入别的东西里。编辑框上的数据是数字啊,然后规定有些数字占4个字节,有些占2个字节,
所有转的时候要小心啊。写入的时候是要低字节在前高字节在后。
哦,那System.Text.Encoding.Default.GetBytes(str);返回的Byte[]是按什么字节顺序的呢。我要低字节在前高字节在后