Мне нужно отсканировать QRCode (стандарт GS1) с помощью ручного сканера и разобрать его на 4 элемента.
2 из этих 4 элементов имеют переменную длину, поэтому за ними следует «GS» GLOBAL_SEPARATOR \u001D
.
Пример чтения QRCode :
01076127912745342191509713306750**GS**10SHU42**GS**17201231
На этом изображении вы можете увидеть UNICODE GLOBAL_SEPARATOR "GS" из NotePad ++
Но когда я читаю QRCode из ручного сканера в текстовом поле javafx, символы Unicode GLOBAL_SEPARATOR не отображаются, когда я делаю
myTextField.getText() => 0107612791274534219150971330675010SHU417201231.
Как я могу прочитать символы юникода в моем текстовом поле, чтобы правильно его проанализировать?
Спасибо
UPDATE:
С getBytes разделитель групп GS отсутствует в
`public static void main(String[] args) {
System.out.println("Scan= ");
BufferedReader buffer;
int charRead;
StringBuffer sb = new StringBuffer();
String linein;
try {
buffer = new BufferedReader(new InputStreamReader(System.in, "UTF-8"));
linein = buffer.readLine();
byte[] b = linein.getBytes("UTF-8");
// Displaying converted string after conversion
System.out.println("The String after conversion is : ");
for (int i = 0; i < b.length; i++) {
System.out.print(b[i]);
}
} catch (IOException e1) {
System.out.println(e1.getMessage());
e1.printStackTrace();
}
}`
GS должен быть между 4849, но ничего
48494855544950555749505552535152504957495348575549515148545553**4849**4883728552504955504849505149
ВРЕМЕННОЕ РЕШЕНИЕ:
Сконфигурируйте на своем ладу преобразование символов в сканере штрих-кода, чтобы преобразовать GS в любой другой символ, который вы можете выбрать как «;» при сканировании qrcode
Единственный недостаток этого: необходимо настроить вашу руку в сканере перед использованием вашего программного обеспечения