Символы «расширенного ASCII» со значениями байтов от 128 до 255 действительно могут быть представлены в кодировке Code 128 с использованием специального функционального символа FNC4. Для общего использования (в открытых приложениях) необходимо, чтобы такие символы принадлежали набору символов ISO-8859-1 (Latin1).
Один символ FNC4 действует как переход к расширенному набору символов для следующего символа, тогда как два последовательных символа FNC4 действуют как защелка. Эффект заключается в переключении старшего бита (в основном для добавления или вычитания 128) 8-битного значения ASCII затронутых символов.
В вашем примере «QuiÑones» символ «Ñ» представлен значением байта 209 в наборе символов ISO-8859-1 по умолчанию, так что это 128 + 81. ASCII 81 преобразуется в "Q", поэтому вам требуется, чтобы последовательность FNC4 Q
представляла "Ñ".
Эффективная кодировка Code 128 для этих данных выглядит следующим образом:
[104/START-B] [49/Q] [85/u] [73/i] [100/FNC4] [49/Q] [79/o] [78/n] [69/e] [83/s] [93/check-digit] [106/STOP]
Некоторые приложения и библиотеки штрих-кодов будут выполнять за вас расширенную кодировку символов на основе FNC4, как в примере ниже. Большинство этого не делают, но они должны позволять вам напрямую указывать символ FNC4, чтобы вы могли вручную управлять процессом, используя описанную выше технику, например: Qui{FNC4}Qones
Символ Code 128 выглядит так:
person
Terry Burton
schedule
18.05.2015