将"key presses"(例如TAB)存储为条码中的ASCII控制字符

Storing "key presses" (such as TAB) as ASCII Control Characters in barcodes

我正在尝试创建一个带有“TAB 键”的条形码。

(似乎有些生成器使用 ~ 作为 TAB 键。)

我听说 Code128 支持 ASCII,这意味着“HT”应该用作水平制表符。但我似乎无法让它工作。

如何将 HT 字符存储在 Code128 中,以便解码为 TAB 键按下?

生成包含 ASCII 控制字符的 Code 128

Code 128 可用于编码 Latin-1 字符集中的任何字符,包括 ASCII 控制字符(序数 0 到 31)。

这是一个 Code 128 条形码,表示一个单独的 HT 字符(ASCII 值 9):

内部编码使用代码集 A 并包含这些代码字:

[103/START-A] [73/HT] [73/check-digit] [106/STOP]

扫描包含ASCII控制字符的条码一般效果

扫描任何类型的包含 ASCII 控制字符的条码可能无法获得预期的结果,因为条码内容可能以多种方式提供给系统。每种方法都将提供不同的方式来配置如何将控制代码呈现给您的应用程序。

硬件 reader 可能配置为“键盘楔入”模式,在该模式下,设备通过生成键盘扫描码来模拟物理键盘。在这种情况下,您通常可以将设备配置为在扫描之前和之后提供特定的“键序列”,并提供从条形码中表示的 Latin-1 序数 (0-255) 到读取的物理扫描代码的映射键盘接口,例如,在特定应用程序中,可能会选择将 Carriage Return (ASCII 13) 映射到向下箭头 (5000) 扫描码。 This text描述了ASCII控制字符与扫描码的关系

或者,硬件或软件 reader 可以使用驱动程序。这种方法有很多变化,但它们通常提供合成的 RS232 接口(可能通过 USB)或连接到操作系统的 OLE 子系统。在最基本的情况下,扫描条形码相当于将一些文本粘贴到文本字段中——您可能需要 device/software 对原始条形码数据执行某种翻译,您可能还需要修改应用程序以做出反应适当地输入。

例如,考虑粘贴一些包含 HT 字符的文本到文本字段的结果不一定与手动输入 键盘上的相同文本,即在某些时候实际按下 TAB 键。粘贴文本时,结果可能是初始字段将包含全文,包括文字 HT 字符。当手动键入文本时,结果可能是前导输入进入初始字段,然后 TAB 键按下导致焦点更改为 Tab 顺序中的下一个字段,文本的其余部分将填充该字段。

条形码 reader 的文档应该描述可用的界面和自定义扫描数据显示的方法。

请尝试使用 ^K 作为水平制表符。希望它能奏效

我遇到了同样的问题..尝试打开记事本 制作您的文字示例:

1(按Tab键)1(按Tab键)(按Tab键)1

然后 select 复制并粘贴。进入您的标签软件。格式 128auto

它工作正常。

@terry-burton - 你给出了一个 excel 借给答案的答案。您的文章为我提供了寻找答案的方向。为了解决我的问题,并可能回答@nir-tzezana 的问题,我在扫描仪的文档中找到了答案。

正确的条形码 - 我首先确保我的 code128 格式正确并包含 'tab' 的 ASCII 代码。在我的情况下,我在一个大字符串中设置了多个选项卡,因此我可以快速扫描一个条形码代码并在 excel 中填充多个单元格。

启用功能键映射 - 我们的环境使用 Symbol LS2208 扫描仪。我获得了 this manual 并打印了第 7-14 页的手册。特别是,我需要在设备上启用 'Enable Function Key Mapping'。如果您参考第 7-15 页上的 table,您会发现 'tab' 键可能会被过度使用,具体取决于扫描仪设置。通过进行此更改,我的扫描仪现在可以成功地将以下字符串解析为正确的单元格。

示例:

MyCode128Function("Text123".Chr(9)."Text456".Chr(9)."Test789")