当前位置:首页 > 知识经验 > 正文内容

Xamarin.Android SOCKET发送中文的解决方法

作者: 葛屹肃 | 日期: 2023-08-06 | 分类: 知识经验

使用VS2019的C# Xamarin开发安卓APP,APP涉及SOCKET通讯。之前使用过VS C#开发SOCKET通讯的经验,只是之前是基于WINDOWS程序,现在换成APP。

使用C#开发WINDOWS程序与APP完全是两回事,C# Xamarin常会出现莫名其妙的问题,动不动界面显示异常,配置仿真模似器又很麻烦,没有仿真模似器就无法断点调试,现在使用MuMu模拟器,出现问题排查很不便。

最让人头痛是网上关于C# Xamarin的资料极少,遇到问题都无法解决。由此,我将开发APP所碰到问题记录下来,亦希望能给予大家帮助。

言归正传,C# Xamarin.Android在release模式下,默认情况下没有中文字库,因此,若使用SOCKET将byte转换汉字编码格式,会报错的。

String strData = System.Text.Encoding.GetEncoding(“GB2312″).GetString(data, 0, length);

解决办法:将其他受支持的编码勾选上CJK即可

Xamarin.Android SOCKET发送中文的解决方法

CJK的解释:

中日韩统一表意文字(CJK Unified Ideographs),目的是要把分别来自中文、日文、韩文、越文中,本质、意义相同、形状一样或稍异的表意文字(主要为汉字,但也有仿汉字如日本国字、韩国独有汉字、越南的喃字)于ISO 10646及Unicode标准内赋予相同编码。CJK 是中文(Chinese)、日文(Japanese)、韩文(Korean)三国文字的缩写。

可以理解,Microsoft Visual Studio开发工具是Microsoft的产品,对其来说,CJK几乎不会使用,因此,默认情况下,没有CJK编码也是情理之中,大家知道后,勾选上CJK就行了。

版权声明:本文由〖葛屹肃〗发布,转载请注明出处!
文章链接:https://www.geyisu.com/3196.html

  • 评论:(0)

已有 0 位网友发表了一针见血的评论,你还等什么?

◎欢迎大家参与讨论