2012-06-14 123 views
3

是否可以在QR碼中存儲約20 000個字符? (或更多?http://blog.qr4.nl/page/QR-Code-Data-Capacity.aspxQR代碼壓縮

我想只存儲ascii符號(字符和數字與額外的破折號等)。

據我知道這是可能不complext文字與比壓縮80-98%,這聽起來promissing:http://www.maximumcompression.com/index.html

你有更多的經驗嗎?感謝分享!

+0

不是你想要的答案,而是:如果你想把大量的數據放在二維條碼中,也許你應該看看數據矩陣。 – siukurnin

回答

1

QR碼對字母數字數據(僅限大寫,加數字和幾個符號)有特殊的編碼模式。它在每個字符中使用少於8位,並且在此模式下最多可以存儲4,296個字符。

這應該接近最佳。對於更簡單的數據(比如所有alpha),像gzip這樣的壓縮算法可能能夠實現每字節更少的位數。當然,沒有標準的讀者會這樣解讀壓縮的有效負載。只有特殊的讀者才能夠。

您可以通過這種方式獲得5倍以上的QR碼嗎?不,幾乎肯定不會,除非這是一個微不足道的情況,例如20,000「a」。

即使你可以,它會創建一個大型的複雜QR碼。任何超過幾百字節的內容在實踐中很難掃描。最大的版本40在現實世界中是無用的。甚至是第20版。

+0

肖恩,感謝您的反饋:) 我正在考慮構建我自己的應用程序來閱讀和解壓縮「zipQR」。 –

6

如果你的問題是:「是不是可能存儲在QR碼20K字?」,那麼答案是肯定的,它是可能

如果你的問題是:「是否有可能保證你永遠是能夠存儲在QR碼20K字符壓縮?」,答案是沒有。由於pigeonhole原則,沒有辦法保證。

如果您的問題是:「是否有一個」舒適區域「,其中最大尺寸爲20K的文本輸入很可能適合QR碼?」,正確的答案是:它取決於你的輸入數據。而一個更危險的答案是:如果你正在處理「正常文本」數據,比如書籍內容,那麼你可能會要求太多。

由於輸入數據非常大(幾MB),並且解壓縮算法非常慢,因此可能引用80-90%的壓縮比率。對於「小」輸入數據,例如20K字符,「正常文本」的壓縮比率更可能在50-70%範圍內,具體取決於算法強度(例如,PPM非常適合此類輸入數據)。很顯然,如果你的輸入數據是一種「日誌文件」,並且有大量的重複,那麼是的,壓縮比> 95%很容易訪問。

但是壓縮比並不是唯一需要考慮的事情。對於「現實生活」用法,您還必須考慮QR大小,並對QR圖片進行合理修正才能生存。投注「最大容量和最低可能的更正」是一個相當錯誤的選擇,至少在現實生活中是這樣。你必須問問你身邊的什麼是QR碼的「合理限制」。最有可能的是,打印功能將會阻礙,而且你必須解決一些小於最大限度的問題。

最後一點,不要忘記壓縮數據是「二進制」,而不是「字母數字」。因此,您的QR碼的最終容量已放入最後一列。這比「字母數字」列要小得多。

+0

感謝您的反饋。 青色,我需要承認 - 關於「壓縮」文本文件的二進制狀態,您完全正確。我忘了那個小細節。 ;)我想插入兩列或三列「name | value」,「name | value | value」的表格。這兩列都會有字符和數字。高達300-400的記錄。 –

+0

如果您想知道壓縮比率,可以使用可用的算法在桌面上進行一些測試。已知7zip在「結構化」數據上具有相當好的性能。這將提供第一個評估級別。 – Cyan

+0

會做! :) 謝謝! –

2

實際上,當您想要使用QR存儲大量數據時,您只需存儲一個指向數據位置的URL即可。

當您必須支持真實設備時,理論上可行的是與實際可能有什麼不同。祝您好運,用低端智能相機掃描版本10(57x57模塊)以上的任何內容。

+0

URL /指針看起來比我之前想的要好得多。感謝您的回覆@NiloVelez。 :) –