Я использую serproxy / thinkerproxy для последовательной связи в небольшом приложении Air.У меня есть два аппаратных устройства, чтобы проверить это.Один из них - сканер штрих-кода, он отлично работает.
Другой - пользовательская плата.Это тоже своего рода работа.Проблема в том, что символы не читаются.Я думаю, что это проблема кодировки (не уверен), поэтому я попробовал что-то вроде этого в функции, которая обрабатывает событие ProgressEvent.SOCKET_DATA:
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) );
}
Единственное значение, которое содержит значение ISO8859-1 .и это выглядит так:
Предполагается, что пользовательская доска отправляет что-то вроде: 0x40
Итак, не уверен, что здесь лучший подход (Я знаю, есть еще кодировка, я могу попробовать).Есть идеи?