C#学习教程:我应该为TextBox控件的序列化数据指定哪种编码分享


我应该为TextBox控件的序列化数据指定哪种编码

假设我的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类表示)来表示字符和字符串。 因此,您可以使用System.Text.Encoding.Unicode.GetBytes来获取字符串的字节。

欲获得更多信息:

任何Unicode编码(UTF-7,UTF-8,UTF-16,UTF-32,…)都可用于编码Unicode字符。 UTF-8可能是最紧凑的,具体取决于文本中使用的书写系统。

上述就是C#学习教程:我应该为TextBox控件的序列化数据指定哪种编码分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1031683.html

发表评论

邮箱地址不会被公开。 必填项已用*标注