Text.Encoding.Default.GetBytes() / Encoding.Default.GetStrin

本文关键字:Encoding Default GetStrin GetBytes Text | 更新日期: 2023-09-27 18:09:36

我在Xamarin c#下编写了一个服务器和一个客户端应用程序(用于PC和Android手机)。

现在我有一个问题与变音符(äöüÄÖÜ)在Text.Encoding.Default.GetBytes ()/Encoding.Default.GetString()。

如果服务器端和客户端在PC上运行,则变音符转换正确。在智能手机和PC上运行时,只会在转换字母时发出问号。所有其他数据被正确转换

问题在哪里?

    private void cButtonSend_Click(object sender, EventArgs e)
    {
        try
        {
            if (cAktiveClient == "") Toast.MakeText(this, "Wählen Sie einen Client aus!", ToastLength.Long).Show();
            else
            {
                string txt = cSendeText.Text;
                byte[] telegramm = new byte[txt.Length];
                telegramm = System.Text.Encoding.Default.GetBytes(txt);
                foreach (TcpClient c in cServer.ClientList)
                {
                    if (c.Client.RemoteEndPoint.ToString() == cAktiveClient) cServer.Send(c, telegramm);
                }
                cSendeText.Text = "";
            }
        }
        catch (Exception ex)
        {
            Toast.MakeText(this, ex.Message, ToastLength.Short).Show();
        }
    }

    private void cServer_Recieve(object sender, EventArgs e)
    {
        // bei Aufrufen aus anderenThreads
        this.RunOnUiThread(() =>
        {
            try
            {
                TCPIP_MultiServer t = sender as TCPIP_MultiServer;
                cEmpfangsClient.Text = t.NowClient.Client.RemoteEndPoint.ToString();
                cEmpfangsText.Text = Encoding.Default.GetString(cServer.Buffer, 0, cServer.RecievedBytes);
            }
            catch (Exception ex)
            {
                Toast.MakeText(this, ex.Message, ToastLength.Long).Show();
            }
        });
    }

Text.Encoding.Default.GetBytes() / Encoding.Default.GetStrin

为了减小应用程序的大小,Xamarin不包含任何特定的编码。

阅读:https://developer.xamarin.com/guides/ios/advanced_topics/localization_and_internationalization/encodings/(Android也是一样)

这:https://developer.xamarin.com/guides/cross-platform/xamarin-forms/localization/