问题描述
串口通讯问题SeriaPort.ReadExisting();读出来乱码,请教各位大神处理方法!求解决方法,在此谢谢各位了!这是串口调试工具读的:这是我用ReadExisting()读的一下是我Read出来后转换的
解决方案
解决方案二:
既然发送的是ASCII码,你应该按ASCII码转换啊,为啥一会Unicode,一会UTF8的,那不是瞎转换吗
解决方案三:
还有STX是个特殊符号,是不能按ASCII码转换的比如CR对应的是0x0D,表示结束符这东西没有对应的字母,直接显示本来就是乱码你需要代码判断它是否是什么特殊字符才行
解决方案四:
引用2楼Z65443344的回复:
还有STX是个特殊符号,是不能按ASCII码转换的比如CR对应的是0x0D,表示结束符这东西没有对应的字母,直接显示本来就是乱码你需要代码判断它是否是什么特殊字符才行
怎么个判断法?我是不是要在Read()出来的byte[]中判断字节?
解决方案五:
是的.你需要先判断byte[]的每个字节到底是特殊含义的字符还是个字符串把字符串部分拿出来转换,特殊字符自己写方法替换成特殊字符串不要无脑全部转换
解决方案六:
如果你通信中不涉及STX这种特殊字符,还可以全部转换但是既然涉及特殊字符了,很明显它并不是由4个字符组成的,而是1个字节而已就只能特殊处理
时间: 2024-09-27 06:33:57