富文本框和字节数组

Richtextbox and byte array

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

private void Chat(object sender, EventArgs e)
        {
            alive = true;
            try
            {
                while (alive)
                {
                    IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, Port);
                    byte[] bytes = client.Receive(ref groupEP);
                    string message = Encoding.Default.GetString(bytes);
                    string time = DateTime.Now.ToShortTimeString();
                    Invoke(new MethodInvoker(() =>
                    {
                        MB.AppendText("\r\n" + time + " " + message);
                    }));
                }
            }
            catch (ObjectDisposedException)
            {
                if (!alive)
                    return;
                throw;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

请帮忙!

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

MB.AppendText("Hello");

如果它仍然出现编码,则可能是 richtextbox 的原因,但我最确定这是由通道编码引起的。

这是我的决定。 现在完美运行了。

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