我在视觉工作室的控制台应用程序中将一些字符串转换为barcode128格式。
我的问题在于"space" ( ):
我无法以任何形式转换它,我有barcode128库用于单词并且它不会转换空间,但他只是拆分两个条形码来制作它们无法阅读。
我读取替换ASCII 32 ( ) with ASCII 194 (┬)
,但此ascii未按字词转换。如何将带有空格的字符串转换为barcode128?
示例" PROP。 LOG"
感谢所有
答案 0 :(得分:1)
空格字符是否需要特殊处理取决于您使用的实际字体。
但是字体似乎错过了您期望的空间的工作代码点。虽然defined(模式为'11011001100',权重为'212222'),但某些字体似乎没有在同一位置。您可能使用的字体在32处不包含适当的空格字符。
因此,您必须找出字体中空格字符的位置。
找到一个32位的免费字体here。
我查看了一些其他免费字体,发现它们的空格字符为223。
控制代码也放错了地方。 Wikipedia对此说:
编码的ASCII字符取决于实际使用的条形码字体。 特别是值为0且值为95及以上的ASCII字符可以是 在安装的字体中以不同的方式定义。
根据表格中的代码编号,这可能包括也可能不包括空格字符。
以下是适用于我的常量:
char FNC1 = (char)181;
char FNC4 = (char)220;
char StartA = (char)192;
char StartB = (char)193;
char StartC = (char)194;
char Stop = (char)200;
char ShiftAB = (char)252;
char Space = (char)223;
更新当我发现各种字体提供的太多混乱时,我决定去绘制我最终需要的条形码。根本不难,我可以使用标准表中设置的代码。