Я пытаюсь получить строку из считывателя штрих-кода. В моем случае у меня есть считыватель штрих-кода 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.