条码 128 space

Barcode 128 space

我正在 visual studio 的控制台应用程序中将一些字符串转换为 barcode128 格式。

我的问题是 "space" ( ): 我无法以任何形式转换它,我有 word 的 barcode128 库但它不会转换 space,但他只是拆分了两个条形码使它们无法阅读。

我读来替换ASCII 32 ( ) with ASCII 194 (┬)但是这个ascii不是按字转换的。如何将带有 space?

的字符串转换为 barcode128

Example "PROP. LOG."

谢谢大家

space字符是否需要特殊处理取决于您使用的实际字体。

但是字体似乎错过了 space 您期望的工作代码点。虽然 defined(图案为“11011001100”,权重为“212222”),但有些字体似乎没有在同一位置。您可能使用的字体在 32.

处不包含正确的 space 字符

因此您必须找出 space 字符在您的字体中的位置。

找到一个确实有 32 位的免费字体 here

我查看了其他一些免费字体,发现它们在 223 处有 space 字符。

控制代码也放错了地方。 Wikipedia 对此说:

The encoded ASCII char depends on the actual used barcode-font. Especially the ASCII char of value 0 and of value 95 and above can be defined differently in the font that is installed.

根据 table 中的代码,这可能包含也可能不包含 space 字符..

以下是对我有用的常量:

    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;

更新 当我发现提供的各种字体太乱时,我决定继续绘制我最终需要自己的条形码。一点也不难,我可以使用标准 tables..

中设置的代码