问个简单的 这次

色郎中 2006-10-26 02:38:14
receive[i ] 这个数组里有数据 0x37 0x37 0x35 0x36

想转为字符串 为 77 56 该怎么搞?

就是把 ASC 转为 字符串
...全文
405 21 打赏 收藏 举报
写回复
21 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
philoo 2006-10-27
  • 打赏
  • 举报
回复
学习
liujia_0421 2006-10-26
  • 打赏
  • 举报
回复
收藏
liujia_0421 2006-10-26
  • 打赏
  • 举报
回复
哦,学习ing...
色郎中 2006-10-26
  • 打赏
  • 举报
回复
TO
liujia_0421()
兄弟我试了你那个 是没问题

但如果是0x68 0X69 就不对了 不是我想要的 D 和 E 了
而我的哪个程序就可以了
色郎中 2006-10-26
  • 打赏
  • 举报
回复

string str;
ASCIIEncoding s = new ASCIIEncoding();
byte[] a = new byte[4];
a[0] =0x37;
a[1] =0x37;
str = s.GetString(a );
textBox1.Text = str;


唉 还是MSDN 好啊 看看帮助 还是有用的
靠人不如靠自己啊

liujia_0421 2006-10-26
  • 打赏
  • 举报
回复
OK ?
liujia_0421 2006-10-26
  • 打赏
  • 举报
回复
st =st + (receive[j]-48).ToString
不好意思,写错了,改成ToString();就可以了。
我测试了如下:
string st = "";
byte[] receive = new byte[4];
receive[0] = 0x37;
receive[1] = 0x37;
receive[2] = 0x35;
receive[3] = 0x36;
int j;
for (j = 0; j < 4; j++)
{
st = st + (receive[j] - 48).ToString();
}
Console.WriteLine(st);

输出为“7756”
色郎中 2006-10-26
  • 打赏
  • 举报
回复
string st = "";
for (j = 0; j < 4; j++)
{
st =st + (receive[j]-48).ToString ;

}

不可以的

难道没别的方法了
ji_vicky 2006-10-26
  • 打赏
  • 举报
回复
string st = "";
for (j = 0; j < 4; j++)
{
st =st + (receive[j]-48).ToString ;

}

早起晚睡 2006-10-26
  • 打赏
  • 举报
回复
色郎中 2006-10-26
  • 打赏
  • 举报
回复
帮忙看看啊
色郎中 2006-10-26
  • 打赏
  • 举报
回复
st =st + (receive[j]-48).ToString ;

请问你 编译了没?

Error 1 Operator '+' cannot be applied to operands of type 'string' and 'method group' C:\Documents and Settings\Administrator\Desktop\TestUDP\TestUDP\Form1.cs 405 34 TestUDP
citypantheryan 2006-10-26
  • 打赏
  • 举报
回复
agree 用个tostring 就搞定了
liujia_0421 2006-10-26
  • 打赏
  • 举报
回复
0的Asc值是48,所以得先减掉48.同上。
liujia_0421 2006-10-26
  • 打赏
  • 举报
回复
string st = "";
for (j = 0; j < 4; j++)
{
st =st + (receive[j]-48).ToString ;

}
chenjunxt 2006-10-26
  • 打赏
  • 举报
回复
string st = "";
for (j = 0; j < 4; j++)
{
st =st + (receive[j]%16).ToString ;

}
chenjunxt 2006-10-26
  • 打赏
  • 举报
回复
string st = "";
for (j = 0; j < 4; j++)
{
st =st + (receive[j]-48).ToString ;

}


色郎中 2006-10-26
  • 打赏
  • 举报
回复
怎么会不明白呢?
ASC 为的0x37 不就是 十进制的 7么?
如果是 0x65 就转为 A
如果是 0x97 就转为 a

就是这个意思

liujia_0421 2006-10-26
  • 打赏
  • 举报
回复
不太明白,0x37 表示一个十六进制数,提取后四位?
色郎中 2006-10-26
  • 打赏
  • 举报
回复
string st = "";
for (j = 0; j < 4; j++)
{
st =st + receive[j].ToString ;

}
这样么?
加载更多回复(1)
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-26 02:38
社区公告

让您成为最强悍的C#开发者