请问怎么把byte[]转为string?

笨鸟先飞_ 2014-08-15 07:34:56

this.hostIP = IPAddress.Parse(Dns.GetHostByName(Dns.GetHostName()).AddressList[0].ToString());
TcpListener listenner = new TcpListener(this.hostIP, 1127);
MessageBox.Show(hostIP.ToString());
listenner.Start();
Socket socket = listenner.AcceptSocket();
byte[] buff = new byte[100];
int count = socket.Receive(buff);


string str = "怎么把buff转换成string放在这里,谢谢啦";


MessageBox.Show(str);
ASCIIEncoding ascii = new ASCIIEncoding();
socket.Send(ascii.GetBytes("收到"));
...全文
556 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2014-08-18
  • 打赏
  • 举报
回复
你先在同一个工程里,把字符串转byte[ ],byte[ ]转字符串研究明白了,再用socket发出去 不要胡乱转完发出去了,接收之后才想起来不知道该如何转回来.
一aa一 2014-08-18
  • 打赏
  • 举报
回复
引用 3 楼 xlz35429674 的回复:
[quote=引用 2 楼 guwei4037 的回复:]
string str = Encoding.ASCII.GetString(buff);
全是问号。。。[/quote] 字符集问题吧
wjq 2014-08-18
  • 打赏
  • 举报
回复
先确定拿到的数据是不是某种编码的字符集,是的话就用相应的Encoding对象GetString。关键是你要确定拿到的byte[]本质内容是什么。
欢乐的小猪 2014-08-16
  • 打赏
  • 举报
回复
Encoding.
孤独de猫 2014-08-16
  • 打赏
  • 举报
回复
Encoding.Default.GetString(byte[]) 试试看。
我叫小菜菜 2014-08-16
  • 打赏
  • 举报
回复
为何要想得那么复杂? Convert.ToString (Byte) 使用强大的convert类,不是轻松ko么?
  • 打赏
  • 举报
回复
引用 3 楼 xlz35429674 的回复:
[quote=引用 2 楼 guwei4037 的回复:]
string str = Encoding.ASCII.GetString(buff);
全是问号。。。[/quote] 你自己写的一堆代码都产生问号。 ASCIIEncoding ascii = new ASCIIEncoding(); ...... = ascii.GetBytes("收到"); 这里的 ...... 你再执行 ascii.GetString 试试看! 只要你胡乱使用 ASCIIEncoding 而不自己先测试,就会把别人误导了。
笨鸟先飞_ 2014-08-15
  • 打赏
  • 举报
回复
引用 4 楼 guwei4037 的回复:
那你看下是否是utf-8、gbk、gb2312等等编码。
怎么看啊?
全栈极简 2014-08-15
  • 打赏
  • 举报
回复
那你看下是否是utf-8、gbk、gb2312等等编码。
笨鸟先飞_ 2014-08-15
  • 打赏
  • 举报
回复
引用 2 楼 guwei4037 的回复:
string str = Encoding.ASCII.GetString(buff);
全是问号。。。
全栈极简 2014-08-15
  • 打赏
  • 举报
回复
string str = Encoding.ASCII.GetString(buff);
笨鸟先飞_ 2014-08-15
  • 打赏
  • 举报
回复
这是客户端代码

string strHost = this.hostIPtextBox.Text.ToString();
            this.hostIP = IPAddress.Parse(strHost);
            this.myIP = IPAddress.Parse(Dns.GetHostByName(Dns.GetHostName()).AddressList[0].ToString());            
            TcpClient tcpClient = new TcpClient();
            tcpClient.Connect(strHost, 1127);
            string str = "要传送的字符串";
            Stream stm = tcpClient.GetStream();
            ASCIIEncoding ascii = new ASCIIEncoding();
            byte[] outBuff = ascii.GetBytes(str);
            stm.Write(outBuff, 0, outBuff.Length);
            byte[] inBuff = new byte[100];
            int k = stm.Read(inBuff, 0, 100);
            MessageBox.Show(inBuff.ToString());
            this.Close();

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧