C#编写UDP接收乱码
以上是UDP接收数据的储存代码,是string,但是后来出现了:这种乱码,用调试助手调试了一下发现选定显示十六进制就不是乱码了,请问我该怎样改这段代码才能显示十六进制?...
以上是UDP接收数据的储存代码,是string,但是后来出现了:
这种乱码,用调试助手调试了一下发现选定显示十六进制就不是乱码了,请问我该怎样改这段代码才能显示十六进制? 展开
这种乱码,用调试助手调试了一下发现选定显示十六进制就不是乱码了,请问我该怎样改这段代码才能显示十六进制? 展开
3个回答
展开全部
其实你的数据没有问题,只是写入的时候不是按16进制写的,正常显示就是乱码,如果想按16进制显示,把你接收到的数据 getdata字节数组先转成16进制
string result = string.Empty;
for(int i = 0; i < getData.Length; i++) { result += System.Convert.ToString(getData[i], 16); //Convert.ToString(byte, 16)把byte转化成十六进制string }
把result写入文件就可以了
string result = string.Empty;
for(int i = 0; i < getData.Length; i++) { result += System.Convert.ToString(getData[i], 16); //Convert.ToString(byte, 16)把byte转化成十六进制string }
把result写入文件就可以了
展开全部
string msg=Encoding.Default.GetString(getData);
这句,你的发送端,和接收端的码制必须一致,不然就会出现乱码的情况。
这句,你的发送端,和接收端的码制必须一致,不然就会出现乱码的情况。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题出在Encoding.Default,试试其他的,ascii或者unicode或者UTF-8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |