Журнал печатает строку, отличную от отображаемой с помощью метода Toast - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь получить строку из считывателя штрих-кода. В моем случае у меня есть считыватель штрих-кода Honeywell.

Фактическая строка: 10008-3TE40M181446-183A-976R

Но когда я показываю это методом тоста, он выглядит так же, как 10008-3TE40M181446-183A-976R

Но когда я пытаюсь распечатать на консоли, используя функцию журнала, он печатает как 10008-3TE40M181446-183A-9767R

Код для чтения строки штрих-кода:

if (e.getAction() == KeyEvent.ACTION_DOWN) {
            char pressedKey = (char) e.getUnicodeChar();
            barcode += pressedKey;


            if (e.getKeyCode() == KeyEvent.KEYCODE_ENTER && !Check.isEmpty(barcode.toString())) {
                showToastInCenter(barcode);
                searchByBarcode(barcode.trim());
                barcode = "";


                return true;

            }
        }

}

public void showToastInCenter(String message){
            Toast.makeText(MainActivity.this, gmessage, Toast.LENGTH_SHORT).show();

EDIT:

Как эта ссылка предлагается ХАРАКТЕР ЗАМЕНЫ.

Поскольку я прочитал другой ответ о переполнении стека, в котором говорится, что если UTF-8 не может обнаружить какой-либо символ, он будет заменен этим "символом замены". Возможно, строка имеет набор символов ISO-8889-1.

Но теперь возникает вопрос, как мне преобразовать это в набор символов UTF-8.

1 Ответ

0 голосов
/ 30 августа 2018

Может быть, сканер уведомляет Make / Break ключа CapsLock или NumLock?

Поскольку это не символьный ключ, он представляется заменяющим символом как недопустимое значение, не включенное в UTF-8.

Например, обратитесь к объяснению стиля клавиатуры, преобразования клавиатуры, вывода управляющих символов и т. Д. В «Главе 2 - Программирование интерфейса» руководства по настройке сканера.

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

...