pydtmx 或 libdtmx return FNC1 字符如何

How does pydtmx or libdtmx return the FNC1 character

有谁知道 pydmtx 中的 FNC1 returns 是什么字符?我正在使用 pydmtx 读取各种 Datamatrix 标签,其中包括我需要解析的可变长度元素。 Pydmtx 是 libdmtx 的包装器,The changelog for libdmtx 0.7.0 说它添加了 reader 对 FNC1 的支持。我真的很想做这样的事情:

def split_tag(tag_string):    
    FNC1="\u{what_I'm_looking_for}" 
    return string.split(tag_string, FNC1)

是的,我知道标签元素将包含前缀,固定长度的标签之间不会有 FNC1,必须在我的解析器中单独处理。

或者,如果有一个很好的 python 开源库可以读取和解析 DataMatrix,您将在这个模块上节省我大约半天的时间。

好的this solved it for me. Pydmtx returns FNC1 as "\x1d" aka information separator 3

每个 GS1 专用条形码符号体系(包括 GS1 DataMatrix)的 GS1 应用标准规定,用于字段分隔符角色的 FNC1 字符必须解码为 ASCII 29 (GS)。请注意,这些符号中的 FNC1 字符还有其他角色,这些角色的处理方式不同, 对此进行了解释。

"extraction" part of this answer 解释了如何正确解析 GS1 格式的数据。