条码128空间

时间:2016-02-05 16:57:41

标签: c# barcode-printing

我在视觉工作室的控制台应用程序中将一些字符串转换为barcode128格式。

我的问题在于"space" ( ):我无法以任何形式转换它,我有barcode128库用于单词并且它不会转换空间,但他只是拆分两个条形码来制作它们无法阅读。

我读取替换ASCII 32 ( ) with ASCII 194 (┬),但此ascii未按字词转换。如何将带有空格的字符串转换为barcode128?

  

示例" PROP。 LOG"

感谢所有

1 个答案:

答案 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;

更新当我发现各种字体提供的太多混乱时,我决定去绘制我最终需要的条形码。根本不难,我可以使用标准表中设置的代码。