我用c#写了一个串口通讯的程序,接收字母很正常,但是一旦发送汉字,接收到的就是乱码

好像是字母与汉字所占的字节不一样而造成的。但不知道该怎么解决。
请各位大师帮忙!谢谢!

serialport.Encoding = System.Text.Encoding.Unicode;//传输Unicode字符,Encoding属性设置为Unicode,保证电脑与电脑之间数据的正确发送与接收.
//serialport.Encoding = System.Text.Encoding.ASCII;//如与外部设备通信时,必须把编码方式从Unicode改回到默认的ASCII方式,保证设备数据的正确发送与接收.

最好有一个通信的协议,不然接收转成字符串也有可能是乱码
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-17
用16进制方式嘛.汉字占用是4 byte,字母是2byte,
建议直接用unicode方式编码..追问

不知道代码怎样写请指教,谢谢,可以加分!

追答

硬编码或是找个字体库啊..

本回答被网友采纳
第2个回答  2012-01-17
百度文库 里 有 文档 例程
可以 参考

C# 串口接收事件是什么时候触发?
是一直监测串口接收缓冲区,只要满足条件就接收数据 触发条件是你自己设定的,至于接收多少数据触发你自己在软件中设定的,有参数设定的,具体参数是:ReceivedBytesThreshold 获取或设置 DataReceived 事件发生前内部输入缓冲区中的字节数。 具体情况参考serialport类中的详细说明 ...

从零开始用C#做产品:私人日记(21)程序参数设计
1进入程序需要口令,只有口令验证通过才能进入。 这种方式可以阻挡小白用户误点程序而看到内容。2数据库内容加密。 比如任何人用SqliteStudio,就能够打开sqlite数据库,如果数据库文件被窃取,窃取者就可以通过查询数据库的方式获取文件内容。所以,在保存时需要对数据库进行编码,这样窃取者即便获得了数据库文件...

如何编写木马程序?
程序编制 (1)首先为了避免程序被多次装载,造成系统资源的浪费、及不必要的错误。 声明变量、过程及 API 函数,写在 Module1.bas 文件中 Declare Function CreateFileMapping Lib "kernel32" Alias "CreateFileMappingA" (ByVal hFile As Long, lpFileMappigAttributes As SECURITY_ATTRIBUTES, ByVal flProtect As ...

c#程序员都有什么最低要求?
说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。 3:规范化,...

C#socket异步怎么实现 线程间通信如何实现
(1)首先处理连接的回调函数里得到的通讯套接字client,接着开始接收数据;(2)当数据发送到缓冲区中,BeginReceive方法试图从buffer数组中读取长度为buffer.length的数据块,并返回接收到的数据量bytesRead。最后接收并打印数据。 除了上述方法外,还可以使用基于NetworkStream相关的异步发送和接收方法,下面是基于NetworkStream...

...客户端界面卡死,退出连接就正常,请问谁什么原因
你是不是用了while(true).用了发了消息过来,没有break所以他一直做while,当然卡死了,或者你没有用多线程也会卡死

c#初级,中级,高级程序员各需要掌握什么样的技能
说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的...

c# 的WINDOWS程序怎样获取鼠标外事件
事件 描述 blur 输入焦点从窗体元素上移除时发生 click 单击链接或窗体元素时发生 change 改变窗体元素的值时触发 focus 给窗体元素焦点时触发 load 页面加载时发生 mouseover 超文本链接上移动指针时触发 select

C#怎么样才能学好,我学了半个多月了,学到数组上去时,又倒回来看以前学...
1:工欲善其事,必先利其器 这里介绍几个学习C语言必备的东东:一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个...

如何成为一个程序员
3、程序的概念。4、汇编语言是低级语言但不是机器语言。5、高级语言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等;如果你是中国软件业的英雄,你也写一门语言,最好不用英语) 6、编译程序和解释程序的概念和其原理。(编译器是高手和专家编写的)7、HTML、XML等是标识性语言。8、Prolog是人工智能语言。9...

相似回答