我有一个用 C++/CLI 编写的串口应用程序
从我正在使用的端口输入缓冲区读取数据
String^ inputString = System::IO:Ports::SerialPort::ReadExisting();
我需要将 inputString 值转换为字节数组。我试过使用
array<Byte> ^unicodeBytes = System::Text::Encoding::Unicode->GetBytes( inputString );
只要读入我的端口输入缓冲区的值小于 0x7F(十六进制),它就可以工作。任何大于的值0x7F
都会转换为0x3F
= "?"
{0x7F, 0xFF}
例如,如果我向我的输入端口发送两个字节,那么当我unicodeBytes = { 0x7F 0x00, 0x3F 0x00}
在 VS2008 的调试器监视窗口中查看并转换数组时
根据我查看过的 unicode 表,OxFF 是一个有效的 unicode 值,等于一个拉丁小写字母“y”,上面有两个小点。
任何关于如何将带有两个小点 = 0xFF 的字符串格式的 'y' 转换为字节数组中的 0xFF 的任何建议都将不胜感激。