Adobe Air和Serproxy/Thinkerproxy的串行端口通信
我正在一个小型Air应用程序中使用serproxy/thinkerproxy进行串行通信。 我有两个硬件设备来测试它。一个是条形码扫描器,它工作得很好 另一个是定制板。这也算起作用了。问题是这些字符不可读。我认为这是字符集的问题(不确定),所以我在处理ProgressEvent.SOCKET_数据事件的函数中尝试了类似的方法:Adobe Air和Serproxy/Thinkerproxy的串行端口通信,air,serial-port,Air,Serial Port,我正在一个小型Air应用程序中使用serproxy/thinkerproxy进行串行通信。 我有两个硬件设备来测试它。一个是条形码扫描器,它工作得很好 另一个是定制板。这也算起作用了。问题是这些字符不可读。我认为这是字符集的问题(不确定),所以我在处理ProgressEvent.SOCKET_数据事件的函数中尝试了类似的方法: var cs:Array = new Array( 'ISO-8859-1',
var cs:Array = new Array( 'ISO-8859-1',
'ISO-8859-2',
'ISO-8859-3',
'ISO-8859-4',
'ISO-8859-5',
'ISO-8859-6',
'ISO-8859-7',
'ISO-8859-8',
'ISO-8859-9',
'ISO-8859-10',
'ISO-8859-11',
'ISO-8859-12',
'ISO-8859-13',
'ISO-8859-14',
'ISO-8859-15',
'ISO-8859-16',
'ISO-8859-17',
'ISO-8859-18',
'ISO-8859-19',
'ISO-8859-20',
'ASMO-708',
'DOS-720',
'x-mac-arabic',
'windows-1256',
'ibm775',
'windows-1257',
'ibm852',
'x-mac-ce',
'windows-1250',
'gb18030',
'EUC-CN',
'gb2312',
'gb18030',
'hz-gb-2312',
'x-mac-chinesesimp',
'big5',
'x-Chinese-CNS',
'x-Chinese-Eten',
'x-mac-chinesetrad',
'cp866',
'koi8-r',
'koi8-u',
'x-mac-greek',
'windows-1253',
'ibm869',
'DOS-862',
'iso-8859-8-i',
'x-mac-hebrew',
'windows-1255',
'x-EBCDIC-Arabic',
'x-EBCDIC-CyrillicRussian',
'x-EBCDIC-CyrillicSerbianBulgarian',
'x-EBCDIC-DenmarkNorway',
'x-ebcdic-denmarknorway-euro',
'x-EBCDIC-FinlandSweden',
'x-ebcdic-finlandsweden-euro',
'x-ebcdic-finlandsweden-euro',
'x-iscii-as',
'unicode',
'unicodeFFFE',
'utf-7',
'utf-8',
'us-ascii',
'windows-1258',
'x-IA5',
'Windows-1252'
);
for each(var csStr:String in cs){
var info:String = _socket.readMultiByte(_socket.bytesAvailable, csStr);
temp = csStr + ":" + info;
if(info.length > 0)
dispatchEvent(new TextEvent(EVENT_ON_DATA_RECEIVED, false, false, temp) );
}
唯一包含值的值是ISO-8859-1。看起来是这样的:
定制板应该发送如下内容:0x40
因此,不确定这里的最佳方法是什么(我知道我可以尝试更多的字符集)。有什么想法吗?你想猜未知的编码吗?查看线路板发送的原始字节,以检查它们是否发生了位移位。您是否检查了设置-我怀疑奇偶校验位的设置不同