在Code 128条形码中编码扩展的ASCII字符

我想在Code 128条形码中对字符串“QuiÑones”进行编码。 是否可以在Code 128编码中包含扩展的ASCII字符? 。

我对谷歌进行了一些研究,表明可以使用FNC4,但我没有找到确切的方法。 如果有人可以帮我解决C语言的解决方案,那将会很有帮助。

字节值为128到255的“扩展ASCII”字符确实可以通过使用特殊FNC4函数字符在代码128编码中表示。 对于一般用途(在开放应用程序中),这些字符必须属于ISO-8859-1(Latin1)字符集。

单个FNC4字符用作向下一个字符的扩展字符集的移位,而两个连续的FNC4字符用作锁存器。 效果是切换受影响字符的8位ASCII值的高位(基本上是加或减128)。

在您的示例“QuiÑones”中,字符“Ñ”由默认ISO-8859-1字符集中的字节值209表示,因此为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符号如下所示:

代码128包含单词“QuiÑones”

它是使用在线条码生成器生成的,具有以下选项:

 Barcode: Code 128 Contents: Qui^209ones Options: parse height=0.5 
Interesting Posts