我的 Java 程序需要通过 QR 码发送二进制有效负载,但我无法让它工作。我尝试了几个QR码库和许多方法,但似乎都有这个问题。我当前的实现使用ZXING。
问题是我尝试过的所有 Java 库似乎都专注于 String 有效负载,并且不提供对二进制数据的支持。通常建议的解决方案是将二进制数据编码为 Base64。然而,我的数据已经接近二维码的大小限制。由于Base64编码导致33%的通货膨胀,我的数据太大了。我已经付出了巨大的努力来减少有效负载的大小,它目前由 4 个字符散列组成,并由新行分隔;所有这些都在 Java Deflator 类的最大级别压缩中。我无法让它变得更小。
我需要一种以最小的数据膨胀开销将二进制数据存储在二维码中的方法。