Часто задаваемые вопросы: TBarCode DLL / TBarCode Library
Как закодировать китайские иероглифы в Han Xin Code?
Как закодировать китайские иероглифы в Han Xin Code?
Han Xin Code обеспечивает специальную поддержку кодирования китайских иероглифов с набором символов GB18030 (используя от 2 до 4 байт в зависимости от символа).
Использование в библиотеке TBarCode:
Использование ввода в Unicode:
- Переключите кодовую страницу на GB18030 с помощью BCSetCodePage
- Предоставьте символы в формате Unicode* с помощью BCSetTextW
∗UTF-16 в Windows, UTF-32 в Linux, но не UTF-8 (!) - Ввод в Unicode будет преобразован в формат GB18030 для штрихкода
Пример:
BCSetCodePage(pBarCode, e_CodePage::eCodePage_GB18030); WCHAR unicode[] = L"数"; /*Unicode U+6570*/ BCSetTextW(pBarCode, unicode, wcslen(unicode));
⇒ Штрихкод будет содержать байтовую последовательность GB18030 CA FD. Сканер штрихкодов должен считать это как 数.
Использование ввода GB18030:
- Отключите преобразование кодовой страницы с помощью BCSetEncodingMode (pBC, eEncMode_LowByte or eEncMode_ByteStream)
- Предоставьте символы GB18030 как байтовую последовательность с помощью BCSetTextA
- Байты кодируются «как есть» без дальнейшего преобразования.
Пример:
BCSetEncodingMode(pBarCode, eEncMode_ByteStream);
unsigned char bytes[] = { 0xCA, 0xFD }; /* GB18030 数 CAFD */
BCSetTextA(pBarCode, (LPCSTR) bytes, sizeof(bytes));
⇒ Сканер штрихкодов должен считать это как 数
Дополнительные ресурсы:
- Таблица Unicode: https://unicode-table.com
- Онлайн-конвертер: https://r12a.github.io/app-encodings/
- Офлайн-конвертер: https://www.microsoft.com/en-ca/download/details.aspx?id=40334
- Приложения Android для тестирования Han Xin с китайскими иероглифами: Vintasoft Barcode Scanner (сначала нужно включить Han Xin в опциях 2D)