gpt4 book ai didi

c# - 我应该为来自 TextBox 控件的序列化数据指定哪种编码

转载 作者:太空宇宙 更新时间:2023-11-03 23:19:50 26 4
gpt4 key购买 nike

假设我的 WinForms 应用程序中有一个 TextBox

当用户单击按钮时,应用程序应通过 TCP 发送存储在此 TextBox 中的序列化值。

对于序列化,我正在使用 Newtonsoft.Json 库,如下所示:

string json = JsonConvert.SerializeObject(credentials);

其中 credentials 是保存 TextBox 值的类的对象。

然后我需要通过 TcpClient 类通过网络发送它:

TcpClient client = new TcpClient(IpAddress, Port);
NetworkStream stream = client.GetStream();
// ???

但我需要先将json字符串转换为字节数组,所以我必须指定一个文本编码。我应该指定哪种文本编码是非常安全的?

我不能只将它设置为 ASCII,因为用户可以输入 unicode 字符。

最佳答案

.NET Framework 使用 UTF-16 编码(由 UnicodeEncoding class) 来表示字符和字符串。因此,您可以使用 System.Text.Encoding.Unicode.GetBytes 来获取字符串的字节数。

更多信息:

关于c# - 我应该为来自 TextBox 控件的序列化数据指定哪种编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35792490/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com