Связь Adobe Air и последовательного порта с Serproxy / Thinkerproxy - PullRequest
0 голосов
/ 18 мая 2011

Я использую 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 .и это выглядит так: enter image description here

Предполагается, что пользовательская доска отправляет что-то вроде: 0x40

Итак, не уверен, что здесь лучший подход (Я знаю, есть еще кодировка, я могу попробовать).Есть идеи?

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

Вы проверили свои настройки - я подозреваю, что для бита четности имеются другие настройки.

0 голосов
/ 18 мая 2011

Вы пытаетесь угадать неизвестную кодировку? Посмотрите на необработанные байты, которые отправляет плата, чтобы проверить, сдвинуты ли они в битах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...