Выбор таблицы кодов символов в команде ESC / POS - PullRequest
0 голосов
/ 18 сентября 2018

Мне нужно печатать неанглийские символы на чеках, используйте термопринтер для чеков POS.Тепловой чековый принтер Xprinter XP-58III поддерживает общие команды ESC / POS.Как я знаю, это должно быть сделано путем установки таблицы кодов символов.В моем случае целевой кодовой страницей является 21. Команда ESC / POS для установки кодовой страницы: 'ESC t n' (ASCII) или '1B 74 n' (Hex), где 'n' - это страница n кода символа.Таблица.

В случае использования шестнадцатеричной формы команды: shold Я преобразую '21' в шестнадцатеричное значение, или я должен использовать это число без преобразования, т. е. '1B 74 21'?

Кроме того, гдеследует добавить эту команду, сразу после кода инициализации?

0x1B 0x40 0x1B 0x74 0x21

Я использую hex редактор для добавления / редактирования кодов ESC / POS внутри двоичного файла.

РЕДАКТИРОВАТЬ: Я решил проблему сам.Чтобы напечатать любые неанглийские символы на чековом принтере POS, мы должны выполнить два условия: 1) установить правильную кодовую страницу и 2) установить соответствующую кодировку в файле чеков или программном обеспечении POS (ту же кодировку, что и кодовая страница),Правильная кодовая страница для этой модели POS-принтера - 25 [WPC1257].

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Я решил проблему сам: проблема была в неправильном наборе кодовой страницы.Правильная кодовая страница для этого POS-принтера - 25 [WPC1257].Мы также установили соответствующую кодировку в файле квитанции (ту же кодировку, что и в кодовой странице).

0 голосов
/ 19 сентября 2018

Стр. 21 будет означать «Тайский код символа 11», где 21 представлен в десятичном виде, и вам нужно сказать "0x15" в двоичном виде.Тогда команда будет выглядеть следующим образом: "0x18 0x74 0x15".
Что касается позиции команды, команды ESC / POS выполняются на месте и влияют на нее в целом.Там может быть никаких проблем, если вы поставите его сразу после команды инициализации.Просто попробуй.

...