UWP和SerialSample字节编码错误
UWP and SerialSample byte encoding error
我将说我是UWP的新手。我最近下载了VS2017,并开始从旧的C /CLI Winform项目创建一个应用程序。原因是避免设备兼容性问题。
问题。
我遵循了serialuart示例代码可用,https://github.com/ms-iot/samples/tree/develop/serialuart/
我已经能够从基于Arduino的设备成功连接和读取数据到UWP应用程序。我存在的问题是,该应用程序每隔一段时间都会引起cosxception错误:" 在目标多字节代码页中存在的Unicode字符的映射不存在P>
它似乎是引起问题的同一字符(或一组字符(。但是,当将基于Arduino的设备连接到Arduino串行显示器时,数据将完全按照预期打印出来。实际上,它甚至可以按照串行显示器上的介绍将其保存到SD卡中。
我已经使用了'try'和'catch'块来防止应用程序崩溃,并将错误打印在我用作终端窗口的文本块上,但错误似乎并没有清楚。每次收到新数据时,都会重印错误消息。我已经证实,当我尝试通过测试中途连接到Arduino设备时,只有在测试启动和测试端打印的某些字符引起了问题,并使测试数据流出了没有问题。
那么,如何清除此例外错误?当Aruino Serial Monitor不这样做时,为什么UWP应用程序在某些字符上遇到麻烦?
好的,所以我发现了这里的问题。在我的Arduino应用程序中,我发送了诸如
之类的字符²
和
°
Arduino串行终端中发生的情况是,它在打印的平方符号或度符号之前打印出Alt代码符号等。它看起来像是带有帽子的资本" A",然后是符号印刷。
我猜想这是Arduino串行终端的怪癖,因此我实际上能够将字符代码拆分(因为它们是两个字节宽(,并且仅打印出Byte的后半部分。
在VS2017 UWP中出现了问题,因为它仅看到了实际字符代码的一半并抛弃。我想出的"修复"意味着它可以正确解释所有序列数据。VS足够聪明,可以知道显示平方符号或度符号等时不要打印出Alt代码符号...
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 为什么我在编码中总是出现性能错误?
- C++ 分段错误:11 错误,同时编码将两个数字相加的链接列表
- Opus编码和解码没有错误,但值不同
- 合成错误不知道为什么会发生这种情况,请检查一下并告诉我这是我的编码还是视觉工作室
- 错误:调用'begin(long double [nPoints])'没有匹配函数;使用硬编码的 int 与整数变量初始化向量
- 有没有办法将 vector<unsigned char> 插入 postgresql 表中,具有 bytea 属性,没有 UTF8 编码错误?
- Rapidjson 解析错误:字符串 (207) 中的编码无效
- UWP和SerialSample字节编码错误
- 读取 CSV 文件(UNICODE 编码)C++时出现编码错误
- C++正在创建二进制搜索树:EXC_BAD_ACCESS错误.算法错误还是编码错误
- C++if语句编码错误
- C++中的奇怪编码错误
- 可撕裂机器人手臂编码错误
- 使用C++从MySQL数据库获取字符串时编码错误
- 在Visual Studio中编码错误比涡轮增压C++ - C
- 函数返回基类而不是派生类,这是编码错误还是Visual c++ bug ?
- SNMP:无法创建/设置变量,编码错误
- linux上的文本编码错误
- POCO C++SAX解析器:如果xml文档编码是ANSI,那么下一条语句不是读取并抛出编码错误异常