A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© /fendou 中级黑马   /  2014-5-19 15:08  /  1051 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 /fendou 于 2014-5-21 11:41 编辑

byte[] prefix = {0xf0,0x06,0x05,0x00,0x00 };
byte[] suffix = { 0x5d, 0xe7 };

byte[] sendbuff = new byte[8];

string send = string.Empty;
send += System.Text.Encoding.Default.GetString(prefix);
send += System.Text.Encoding.Default.GetString(new byte[] { Convert.ToByte(id) });
send += System.Text.Encoding.Default.GetString(suffix);

sendbuff = System.Text.Encoding.Default.GetBytes(send);

转成字符串后再转回来就不一样了啊 所以的编码都试过了

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

3 个回复

倒序浏览
字符串和字符数组之间的转换

字符串类 System.String 提供了一个 void ToCharArray() 方法,该方法可以实现字符串到字符数组的转换。如下例:

private void TestStringChars() {
string str = "mytest";
char[] chars = str.ToCharArray();
this.textBox1.Text = "";
this.textBox1.AppendText("Length of \"mytest\" is " + str.Length + "\n");
this.textBox1.AppendText("Length of char array is " + chars.Length + "\n");
this.textBox1.AppendText("char[2] = " + chars[2] + "\n");
}
例中以对转换转换到的字符数组长度和它的一个元素进行了测试,结果如下:

Length of "mytest" is 6
Length of char array is 6
char[2] = t

  可以看出,结果完全正确,这说明转换成功。那么反过来,要把字符数组转换成字符串又该如何呢?
  我们可以使用 System.String 类的构造函数来解决这个问题。System.String 类有两个构造函数是通过字符数组来构造的,即 String(char[]) 和 String[char[], int, int)。后者之所以多两个参数,是因为可以指定用字符数组中的哪一部分来构造字符串。而前者则是用字符数组的全部元素来构造字符串。我们以前者为例,在 TestStringChars() 函数中输入如下语句:

char[] tcs = {'t', 'e', 's', 't', ' ', 'm', 'e'};
string tstr = new String(tcs);
this.textBox1.AppendText("tstr = \"" + tstr + "\"\n");

  运行结果输入 tstr = "test me",测试说明转换成功。
  实际上,我们在很多时候需要把字符串转换成字符数组只是为了得到该字符串中的某个字符。如果只是为了这个目的,那大可不必兴师动众的去进行转换,我们只需要使用 System.String 的 [] 运算符就可以达到目的。请看下例,再在 TestStringChars() 函数中加入如如下语名:

char ch = tstr[3];
this.textBox1.AppendText("\"" + tstr + "\"[3] = " + ch.ToString());

  正确的输出是 "test me"[3] = t,经测试,输出正确。

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
byte[] prefix = {0xf0,0x06,0x05,0x00,0x00 };
回复 使用道具 举报
看了 面向对象中的String后 有点想法了 toCharArray[] 呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马