怎样把从mscomm收到的乱码转换为可读字符

问题描述

使用mscomm收数据时收到一些乱码如'?b?B?尋@)'好像是ascII的一些字符,用串口工具调试时只要把用hex显示打勾就可可以正常显示16进制的数字,请问改怎么转换?我用mscomm发这些乱码字符的话改怎么转换呢?

解决方案

解决方案二:
mscomm收到的是byte[]吗?如果是,你看一下你用哪中Encoding,可能是Encoding的选择不对,比如试试:Encoding.UTF8;.Net自带了下面这些://Getdifferentencodings.Encodingu7=Encoding.UTF7;Encodingu8=Encoding.UTF8;Encodingu16LE=Encoding.Unicode;Encodingu16BE=Encoding.BigEndianUnicode;Encodingu32=Encoding.UTF32;
解决方案三:
Encoding.UTF7;Encoding.UTF8;Encoding.Unicode;Encoding.BigEndianUnicode;Encoding.UTF32;我每个都试过了,还是乱码代码是这样的System.Text.Encodingencoding=System.Text.Encoding.UTF8;byte[]bTemp=(byte[])this.axMSComm1.Input;//数据送数组Stringtemp=Encoding.Unicode.GetString(bTemp);textBox_RecASC.Text=temp;
解决方案四:
更正一下,代码第3行是stringtemp=encoding.GetString(bTemp);
解决方案五:
我看了一下ASCII表,好像这些就是ASCII表里的字符,该字符对应的16进制数就是正确的数字,我该怎么转换呢?
解决方案六:
我用DELPHI编的,也出现乱码情况,在网上搜索说是MSCOMM自身的BUG,不知该怎么办了
解决方案七:
建议楼主还是用API,MSCOMM貌似不可靠
解决方案八:
MSComm1.InputMode=comInputModeText将输入模式设置成文本形式试下吧
解决方案九:
靠,这帖字这么长时间都没结

时间: 2024-09-21 01:42:58

怎样把从mscomm收到的乱码转换为可读字符的相关文章

[教程] 教你简单解决邮件乱码(Mac/iPhone/iPad通用)

看到坛子里很多人说自带Mail发邮件对方收到是乱码所以用SparrowOutlook云云.个人认为还是自带的Mail用着舒服.这里就发一下自己冲浪国外网站找到的方法吧.忘了在哪里找到的了... 其实很简单试试把下面这个符号加到你邮件正文的任何位置看看对方受到的是不是已经不再是乱码了 ^^加入符号 ⌘ 也可以 也可以增加特殊签名 : 100-110-120 : 110@163.com 我是加在签名里的例如    ⌘Send from my iPhone 关于其原理我也不专业只知其表.只知道是字体编

java socket 用数组缓冲循环读取xml数据随机个别中文乱码

问题描述 javasocket用数组缓冲循环读取xml数据随机个别中文乱码关键代码byte[]buf=newbyte[1024]while(...){len=in.read(-)stringbuilder.append(newstring(buf,0,len,"gb2312"))}注意,是最终结果随机个别中文乱码谢谢 解决方案 解决方案二:这样当然会随机乱码,直接以字符流读取就好了.如果你还是要用字节流读取的话,那你要一次性把所有的字节全部读取之后,然后再转成字符串就好了.乱码的原因是

DOC转换为HTML后的变化

转换 在Word 97中,当把DOC格式的文档存为HTML格式的文档时,Word会关闭文档,然后用超文本标记语言(HTML)格式应答.此后在Word中的显示方式与出现在Web浏览器中的方式类似.这时的创作环境不支持的格式和其他项目会从文件中删除.通过实践我们可以总结出转换时Word会更改或取消的内容,希望广大朋友注意: ●批注 系统会删除你用"插入"菜单中的"批注"命令插入的批注.不过,将文档保存为HTML文档后,你可以输入批注并显示"批注"样式

文本乱码过渡动画效果类

经常看到国外酷站使用这种文本过度效果,搜了一下没找到,正好今天下午没事,就写了一个.现在贡献给需要的人. /**         * 文本乱码过渡效果类...         * @siweiZhu...         * the4v.com...         * siiw.net@qq.com         */ 用法非常简单 _UrTxt是目标文本._letter是你指定的乱码库,但字符不要太多,否则得不偿失,10个左右的乱码字符就好了._time是动画持续时间,单位秒.请参考附件的

uft-Uft参数化后Data中出现乱码

问题描述 Uft参数化后Data中出现乱码 此为UFT自带小飞机测试报告 Name为姓名 Tickets为票数 如图都是乱码 解决方案 看下字符的编码对不对

svn list 显示中文乱码解决办法

一.背景 我们使用svn pre-commit hook做了一个svn锁定的功能,对于在上线前的svn提交进行控制,防止开发及策划胡乱提交,导致线上bug.这个平台有一个web界面功能,可以争对性给某些人开通一次提交权限,并记录他这一次的提交文件和log,乱码就出现了,web界面上显示的中文均乱码,包括log和提交文件名称 乱码的格式是:/design/X_?229?175?188?229?133?165?230?149?176?230?141?174/04_?233?129?147?229?1

在C#和MySQL中存取中文字符时避免乱码的方法_Mysql

当用到socket来进行网络程序开发时,大多数情况下会遇到中文字符的发送与接收,这时若对发送的字符串用默认的方式进行处理,则一般会得到一堆乱码. 由于中文字符采用双字节表示,所以对含有中文的字符串的处理一定要按UNICODE编码方式进行处理,也就是说,使用socket发送中文字串时要事先将字串转成UNICODE格式的. 下面是简单的socket通信的代码. //服务端代码 try { IPAddress MyIP = IPAddress.Parse("127.0.0.1″); TcpListen

oracle 11g impdp导入表数据中文不乱码,字段注释中文乱码

问题描述 oracle 11g impdp导入表数据中文不乱码,字段注释中文乱码 oracle 11g impdp导入表数据中文不乱码,字段注释中文乱码,原数据库字符编码AMERICAN_AMERICA.AL32UTF8,目标数据库字符编码AMERICAN_AMERICA.UTF8,百度的方法更改客户端字符集各种情况均已尝试,均以失败告终,望各路达人指导! 解决方案 Oracle 11g OME 中文按钮乱码ORACLE 11G中PLSQL中文显示乱码.Linux下sqlplus查询中文乱码or

PHP中使用substr()截取字符串出现中文乱码问题该怎么办_php实例

在PHP程序开发中,经常会执行字符串的截取操作,比如输出信息列表时,标题不宜过长,打印文章摘要时,也要执行一系列的字符串截取操作.遇到这些需求时,我们经常会想到使用substr()方法来实现,substr()对全英文字符串的截取是比较适合的. 但字符串只要出现中文字符,就有可能导致PHP substr中文乱码,因为中文UTF-8编码,每个汉字占3字节,而GB2312占2字节,英文占1字节,截取位数不准确,substr()硬生生地将一个中文字符"锯"成两半,造成断开的字符会把其后的..拉