我必须使用连锁对象属性生成QRCodes。这些字符串可能很长,这就是为什么我想知道使用哪种压缩算法,因为我知道我的字符串长度在25到100个字符之间
提前感谢,
杰瑞克
答案 0 :(得分:0)
我假设因为你要在存储字符串之前使用压缩,这些QR代码将无法被任何客户端读取,所以它必须是你编写的应用程序(b / c,你要存储字符)一个未知的编码,客户端将无法解码)。
不要在QR代码中压缩和存储长字符串,而是让应用程序创建URI(如GUID或URL),并在应用程序解码URI时查找要存储在QR码中的所有值(未压缩)。然后你的应用程序可以以任何方式查找格式。
例如,假设您的持久存储是一个xml文件,但它可以是任何内容:
<URI = "http://mydomain.com/790C9704-8C61-435F-991D-CDBB5767AA3D">
<MyElement>14523</MyElement>
<MyElement>67548</MyElement>
...
<MyElement>46167</MyElement>
</URI>
在QR码上编码:“http://mydomain.com/790C9704-8C61-435F-991D-CDBB5767AA3D”,然后可以查找值。
答案 1 :(得分:0)
用于编码QR码的算法取决于您编码的数据类型。请参阅http://www.swetake.com/qr/qr1_en.html。
例如,如果您知道每个ID总是具有相同的位数,因此可以将它们串在一起而不用标点符号,您可以将它们编码为纯数字,并且每三个字符使用10位。
如果您需要某种分隔符,如果您使用“0-9A-Z $%* + - ./:”中的内容,您将保留字母数字并获得11位中的2个字符。
如果您给它任意数据(请注意,这包括任何小写:上面的列表不包括小写字母),您将使用每个字符8位。
因此数字只会减少60%。