Richtextbox和字节数组

我正在开发一个程序,该程序应该在udp端口上显示的richtextbox上显示所有文本。但这是一个问题。它显示了错误的文本。例如: 如果我应该得到一个“嗨”,它会显示“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);
            }
        }

请帮助!

may0777 回答:Richtextbox和字节数组

我认为它来自您的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]); 
                    }));
本文链接:https://www.f2er.com/2893239.html

大家都在问