C# Richtextbox和字节数组

C# Richtextbox和字节数组,c#,udp,port,richtextbox,message,C#,Udp,Port,Richtextbox,Message,我正在开发一个程序,该程序应该在我的udp端口上显示richtextbox上的所有文本。但这里有一个问题。它显示错误的文本。例如: 如果我得到一个“嗨”,它会显示“b”。代码: 请帮忙 我认为它来自您的UDP字符集编码。试着写: MB.AppendText("Hello"); 如果它仍然是编码的,这可能是richtextbox的原因,但我很确定这是由频道编码引起的。这是我的决定。 现在它工作得很好 string[] sep = { "\0" }; str

我正在开发一个程序,该程序应该在我的udp端口上显示richtextbox上的所有文本。但这里有一个问题。它显示错误的文本。例如: 如果我得到一个“嗨”,它会显示“b”。代码:


请帮忙

我认为它来自您的UDP字符集编码。试着写:

MB.AppendText("Hello");
如果它仍然是编码的,这可能是richtextbox的原因,但我很确定这是由频道编码引起的。

这是我的决定。 现在它工作得很好

string[] sep = { "\0" };
                    string[] res = message.Split(sep,StringSplitOptions.None);
                    Invoke(new MethodInvoker(() =>
                    {
                        MB.AppendText("\r\n" + time + " " + res[1]); 
                    }));

看起来您有编码问题。另一端的数据是如何编码的?@GregorA.Lamche另一端的数据都是十六进制的。提交给我的所有数据包都是十六进制的。我不完全确定,但我知道你应该用同样的方式对字符串/字节进行编码和解码。因此,如果您在此处使用Encoding.Default.GetString(),则应在另一端使用Encoding.Default.GetBytes()。@GregorA.Lamche了解更多信息。另一方面,这是一个我无法编写的程序。这是一款适用于某些设备的应用程序(我不完全确定)。在控制台应用程序上,它以相同的代码完美地显示出来。我对richtextbox的应用程序有问题。“你好”看起来很棒。现在我确信这就是编码的原因。@tony尝试encoding.ASCII.GetString(receivedBytes)
string[] sep = { "\0" };
                    string[] res = message.Split(sep,StringSplitOptions.None);
                    Invoke(new MethodInvoker(() =>
                    {
                        MB.AppendText("\r\n" + time + " " + res[1]); 
                    }));