gpt4 book ai didi

c# - ZPL:二进制 B64 和压缩 Z64 编码

转载 作者:行者123 更新时间:2023-12-03 23:09:57 38 4
gpt4 key购买 nike

也许有人可以帮助我解决 Zebra ZPL 问题。 ZPL 手册并没有真正帮助我。
我想将二进制(使用 ZPL B64)和压缩的二进制(使用 ZPL Z64)图像数据传输到打印机。

我能够找到以下信息:

  • 使用 B64,数据以 Base64 格式编码。
  • 使用 Z64,数据首先用 LZ77 压缩,然后用 Base64 编码。
  • CRC 数字附加到两种编码。 (可能必须是 CRC-16)但是我没有计算出有效的 CRC 校验位!

  • 你们中有人这样做了吗?
  • LZ77算法使用哪些参数?
  • 使用哪个 CRC 以及哪个起始多项式?
  • 也许有人甚至有针对此问题的 C# 代码?

  • 非常感谢。

    最佳答案

    The ZPL manual doesn't really help me.



    告诉我怎么回事儿!
  • 手册中提到的“LZ77”算法其实就是ZLIB格式。我用过 http://zlib.net为了那个原因。
  • 手册中提到的“CRC”其实就是CRC16-CCITT。我使用的代码:http://sanity-free.com/133/crc_16_ccitt_in_csharp.html .

    为了正确计算它:
  • 使用 ZLIB 压缩图片位(图片必须是 PixelFormat.Format1bppIndexed ,最好使用 Bitmap.LockBits 访问图片位)。
  • 将压缩后的数据编码为 Base64。 不允许有空格或换行符。
  • 根据 ASCII 编码 ( System.Text.Encoding.ASCII.GetBytes(base64string) ) 将 Base64 字符串转换为字节数组。
  • 计算该字节数组的 CRC。 初始 CRC 值必须为零。
  • 关于c# - ZPL:二进制 B64 和压缩 Z64 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59319970/

    38 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com