我有一个简单的 UDP 服务器,可以运行 - 我想将获取的数据输入到 MySql。
当我设置 UDP 服务器时,“输入”该数据作为字节 - 那么如何将其转换为 string ,然后使用分隔符剪切它?
当我查看 CMD 窗口时 - 一切都正常工作,因此服务器正常 我的问题是将其转换为字符串,以便我可以在需要时“剪切” - 在“!
”之后消息很好,我按照我应该的方式收到了,
char delimiter = '!';
String CutData;
byte[] data = new byte[1024];
while (true)
{
data = newsock.Receive(ref sender);
CutData = data.ToString();
String[] ToDb = CutData.Split(delimiter);
Console.WriteLine(Encoding.ASCII.GetString(data, 0, data.Length));
}
谢谢
最佳答案
您的问题是您正在尝试通过调用 ToString();
实际上答案就在您的代码中。您首先要从这一行的字节中获取字符串:
Encoding.ASCII.GetString(data, 0, data.Length));
因此将其分配给一个字符串变量,例如:
CutData = Encoding.ASCII.GetString(data, 0, data.Length));
// CutData = Encoding.ASCII.GetString(data); I think this works also
然后您将能够正确地看到该字符串,以便您可以拆分它。
String[] ToDb = CutData.Split(delimiter);
然后只是为了查看结果:将其打印出来。
foreach(string part in ToDb)
{
Console.WriteLine(part);
}
关于c# 从udp服务器字节到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50966916/