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

May*_*esh 3 c barcode non-ascii-characters extended-ascii code128

我想在Code 128条形码中编码字符串"QuiÑones".是否可以在Code 128编码中包含扩展的ASCII字符?.

我对谷歌做了一些研究,建议使用FNC4,但我没有找到确切的方法.如果有人可以帮助我使用C语言的解决方案,那将是非常有帮助的.

Ter*_*ton 7

字节值为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]
Run Code Online (Sandbox Code Playgroud)

某些条形码应用程序和库将为您执行基于FNC4的扩展字符编码,如下例所示.大多数不会,但这些应该允许您直接指定FNC4字符,以便您可以使用上述技术手动驱动该过程,例如:Qui{FNC4}Qones

Code 128符号如下所示:

代码128包含单词

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

Barcode:  Code 128
Contents: Qui^209ones
Options:  parse height=0.5
Run Code Online (Sandbox Code Playgroud)

  • FNC4字符类似于Unicode的专用区域代码点.代码128没有说明字符是什么.作者和读者必须就其含义达成一致.通常,您可以选择数值来编码与定义良好的字符编码相同的字符."扩展ASCII"没有明确定义; 也不是"大多数代码页".无论是使用已建立的字符编码还是制作一个字符编码,您仍然可以说它是什么. (3认同)
  • 关于FNC4的使用,不是真的.ISO/IEC15417§4.3.4.2(d):"FNC4用于表示ISO/IEC 8859-1中规定的扩展字符集(字节值128到255)...如果使用单个FNC4字符,则值128被添加到符号中以下数据字符的ISO/IEC 646值...后续数据字符恢复为标准ISO/IEC 646集.如果使用两个连续的FNC4字符,则将值128添加到所有后续数据字符的ISO/IEC 646值,直到遇到另外两个连续的FNC4字符或到达符号的末尾." (3认同)