{"id":1536,"date":"2014-02-28T15:21:41","date_gmt":"2014-02-28T07:21:41","guid":{"rendered":"http:\/\/alyzq.com\/?p=1536"},"modified":"2014-02-28T15:26:09","modified_gmt":"2014-02-28T07:26:09","slug":"via%e4%ba%8c%e7%bb%b4%e7%a0%81%e7%9a%84%e7%94%9f%e6%88%90%e7%bb%86%e8%8a%82%e5%92%8c%e5%8e%9f%e7%90%86","status":"publish","type":"post","link":"https:\/\/alyzq.com\/?p=1536","title":{"rendered":"[Via]\u4e8c\u7ef4\u7801\u7684\u751f\u6210\u7ec6\u8282\u548c\u539f\u7406"},"content":{"rendered":"<p>\u4e8c\u7ef4\u7801\u53c8\u79f0QR Code\uff0cQR\u5168\u79f0Quick Response\uff0c\u662f\u4e00\u4e2a\u8fd1\u51e0\u5e74\u6765\u79fb\u52a8\u8bbe\u5907\u4e0a\u8d85\u6d41\u884c\u7684\u4e00\u79cd\u7f16\u7801\u65b9\u5f0f\uff0c\u5b83\u6bd4\u4f20\u7edf\u7684Bar Code\u6761\u5f62\u7801\u80fd\u5b58\u66f4\u591a\u7684\u4fe1\u606f\uff0c\u4e5f\u80fd\u8868\u793a\u66f4\u591a\u7684\u6570\u636e\u7c7b\u578b\uff1a\u6bd4\u5982\uff1a\u5b57\u7b26\uff0c\u6570\u5b57\uff0c\u65e5\u6587\uff0c\u4e2d\u6587\u7b49\u7b49\u3002\u8fd9\u4e24\u5929\u5b66\u4e60\u4e86\u4e00\u4e0b\u4e8c\u7ef4\u7801\u56fe\u7247\u751f\u6210\u7684\u76f8\u5173\u7ec6\u8282\uff0c\u89c9\u5f97\u8fd9\u4e2a\u73a9\u610f\u5c31\u662f\u4e00\u4e2a\u5bc6\u7801\u7b97\u6cd5\uff0c\u5728\u6b64\u5199\u4e00\u8fd9\u7bc7\u6587\u7ae0 \uff0c\u63ed\u9732\u4e00\u4e0b\u3002\u4f9b\u597d\u5b66\u7684\u4eba\u4e00\u540c\u5b66\u4e60\u4e4b\u3002<\/p>\n<p>\u5173\u4e8eQR Code Specification\uff0c\u53ef\u53c2\u770b\u8fd9\u4e2aPDF\uff1a<a href=\"http:\/\/s2.alyzq.com\/2014-02-28qr_code.pdf\" target=\"_blank\">http:\/\/s2.alyzq.com\/2014-02-28qr_code.pdf<\/a><\/p>\n<h4>\u57fa\u7840\u77e5\u8bc6<\/h4>\n<p>\u9996\u5148\uff0c\u6211\u4eec\u5148\u8bf4\u4e00\u4e0b\u4e8c\u7ef4\u7801\u4e00\u5171\u670940\u4e2a\u5c3a\u5bf8\u3002\u5b98\u65b9\u53eb\u7248\u672cVersion\u3002Version 1\u662f21 x 21\u7684\u77e9\u9635\uff0cVersion 2\u662f 25 x 25\u7684\u77e9\u9635\uff0cVersion 3\u662f29\u7684\u5c3a\u5bf8\uff0c\u6bcf\u589e\u52a0\u4e00\u4e2aversion\uff0c\u5c31\u4f1a\u589e\u52a04\u7684\u5c3a\u5bf8\uff0c\u516c\u5f0f\u662f\uff1a(V-1)*4 + 21\uff08V\u662f\u7248\u672c\u53f7\uff09 \u6700\u9ad8Version 40\uff0c(40-1)*4+21 = 177\uff0c\u6240\u4ee5\u6700\u9ad8\u662f177 x 177 \u7684\u6b63\u65b9\u5f62\u3002<\/p>\n<p>\u4e0b\u9762\u6211\u4eec\u770b\u770b\u4e00\u4e2a\u4e8c\u7ef4\u7801\u7684\u6837\u4f8b\uff1a<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"aligncenter  wp-image-10592\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/QR-Code-Overview.jpeg\" ><\/p>\n<p style=\"text-align: left;\"><span id=\"more-10590\"><\/span><\/p>\n<h5 style=\"text-align: left;\">\u5b9a\u4f4d\u56fe\u6848<\/h5>\n<ul>\n<li>Position Detection Pattern\u662f\u5b9a\u4f4d\u56fe\u6848\uff0c\u7528\u4e8e\u6807\u8bb0\u4e8c\u7ef4\u7801\u7684\u77e9\u5f62\u5927\u5c0f\u3002\u8fd9\u4e09\u4e2a\u5b9a\u4f4d\u56fe\u6848\u6709\u767d\u8fb9\u53ebSeparators for Postion Detection Patterns\u3002\u4e4b\u6240\u4ee5\u4e09\u4e2a\u800c\u4e0d\u662f\u56db\u4e2a\u610f\u601d\u5c31\u662f\u4e09\u4e2a\u5c31\u53ef\u4ee5\u6807\u8bc6\u4e00\u4e2a\u77e9\u5f62\u4e86\u3002<\/li>\n<\/ul>\n<ul>\n<li>Timing Patterns\u4e5f\u662f\u7528\u4e8e\u5b9a\u4f4d\u7684\u3002\u539f\u56e0\u662f\u4e8c\u7ef4\u7801\u670940\u79cd\u5c3a\u5bf8\uff0c\u5c3a\u5bf8\u8fc7\u5927\u4e86\u540e\u9700\u8981\u6709\u6839\u6807\u51c6\u7ebf\uff0c\u4e0d\u7136\u626b\u63cf\u7684\u65f6\u5019\u53ef\u80fd\u4f1a\u626b\u6b6a\u4e86\u3002<\/li>\n<\/ul>\n<ul>\n<li>Alignment Patterns \u53ea\u6709Version 2\u4ee5\u4e0a\uff08\u5305\u62ecVersion2\uff09\u7684\u4e8c\u7ef4\u7801\u9700\u8981\u8fd9\u4e2a\u4e1c\u4e1c\uff0c\u540c\u6837\u662f\u4e3a\u4e86\u5b9a\u4f4d\u7528\u7684\u3002<\/li>\n<\/ul>\n<h5 style=\"text-align: left;\">\u529f\u80fd\u6027\u6570\u636e<\/h5>\n<ul>\n<li>Format Information \u5b58\u5728\u4e8e\u6240\u6709\u7684\u5c3a\u5bf8\u4e2d\uff0c\u7528\u4e8e\u5b58\u653e\u4e00\u4e9b\u683c\u5f0f\u5316\u6570\u636e\u7684\u3002<\/li>\n<\/ul>\n<ul>\n<li>Version Information \u5728 &gt;= Version 7\u4ee5\u4e0a\uff0c\u9700\u8981\u9884\u7559\u4e24\u57573 x 6\u7684\u533a\u57df\u5b58\u653e\u4e00\u4e9b\u7248\u672c\u4fe1\u606f\u3002<\/li>\n<\/ul>\n<h5>\u6570\u636e\u7801\u548c\u7ea0\u9519\u7801<\/h5>\n<ul>\n<li>\u9664\u4e86\u4e0a\u8ff0\u7684\u90a3\u4e9b\u5730\u65b9\uff0c\u5269\u4e0b\u7684\u5730\u65b9\u5b58\u653e Data Code \u6570\u636e\u7801 \u548c Error Correction Code \u7ea0\u9519\u7801\u3002<\/li>\n<\/ul>\n<h4>\u6570\u636e\u7f16\u7801<\/h4>\n<p>\u6211\u4eec\u5148\u6765\u8bf4\u8bf4\u6570\u636e\u7f16\u7801\u3002QR\u7801\u652f\u6301\u5982\u4e0b\u7684\u7f16\u7801\uff1a<\/p>\n<p><strong>Numeric mode<\/strong>&nbsp;\u6570\u5b57\u7f16\u7801\uff0c\u4ece0\u52309\u3002\u5982\u679c\u9700\u8981\u7f16\u7801\u7684\u6570\u5b57\u7684\u4e2a\u6570\u4e0d\u662f3\u7684\u500d\u6570\uff0c\u90a3\u4e48\uff0c\u6700\u540e\u5269\u4e0b\u76841\u62162\u4f4d\u6570\u4f1a\u88ab\u8f6c\u62104\u62167bits\uff0c\u5219\u5176\u5b83\u7684\u6bcf3\u4f4d\u6570\u5b57\u4f1a\u88ab\u7f16\u6210 10\uff0c12\uff0c14bits\uff0c\u7f16\u6210\u591a\u957f\u8fd8\u8981\u770b\u4e8c\u7ef4\u7801\u7684\u5c3a\u5bf8\uff08\u4e0b\u9762\u6709\u4e00\u4e2a\u8868Table 3\u8bf4\u660e\u4e86\u8fd9\u70b9\uff09<\/p>\n<p><strong>Alphanumeric mode<\/strong>&nbsp;\u5b57\u7b26\u7f16\u7801\u3002\u5305\u62ec 0-9\uff0c\u5927\u5199\u7684A\u5230Z\uff08\u6ca1\u6709\u5c0f\u5199\uff09\uff0c\u4ee5\u53ca\u7b26\u53f7$ % * + \u2013 . \/ : \u5305\u62ec\u7a7a\u683c\u3002\u8fd9\u4e9b\u5b57\u7b26\u4f1a\u6620\u5c04\u6210\u4e00\u4e2a\u5b57\u7b26\u7d22\u5f15\u8868\u3002\u5982\u4e0b\u6240\u793a\uff1a\uff08\u5176\u4e2d\u7684SP\u662f\u7a7a\u683c\uff0cChar\u662f\u5b57\u7b26\uff0cValue\u662f\u5176\u7d22\u5f15\u503c\uff09 \u7f16\u7801\u7684\u8fc7\u7a0b\u662f\u628a\u5b57\u7b26\u4e24\u4e24\u5206\u7ec4\uff0c\u7136\u540e\u8f6c\u6210\u4e0b\u8868\u768445\u8fdb\u5236\uff0c\u7136\u540e\u8f6c\u621011bits\u7684\u4e8c\u8fdb\u5236\uff0c\u5982\u679c\u6700\u540e\u6709\u4e00\u4e2a\u843d\u5355\u7684\uff0c\u90a3\u5c31\u8f6c\u62106bits\u7684\u4e8c\u8fdb\u5236\u3002\u800c\u7f16\u7801\u6a21\u5f0f\u548c\u5b57\u7b26\u7684\u4e2a\u6570\u9700\u8981\u6839\u636e\u4e0d\u540c\u7684Version\u5c3a\u5bf8\u7f16\u62109, 11\u621613\u4e2a\u4e8c\u8fdb\u5236\uff08\u5982\u4e0b\u8868\u4e2dTable 3\uff09<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"aligncenter  wp-image-10594\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Alphanumeric-mode.png\" ><\/p>\n<p><strong>Byte mode<\/strong>, \u5b57\u8282\u7f16\u7801\uff0c\u53ef\u4ee5\u662f0-255\u7684ISO-8859-1\u5b57\u7b26\u3002\u6709\u4e9b\u4e8c\u7ef4\u7801\u7684\u626b\u63cf\u5668\u53ef\u4ee5\u81ea\u52a8\u68c0\u6d4b\u662f\u5426\u662fUTF-8\u7684\u7f16\u7801\u3002<\/p>\n<p><strong>Kanji mode<\/strong>&nbsp;\u8fd9\u662f\u65e5\u6587\u7f16\u7801\uff0c\u4e5f\u662f\u53cc\u5b57\u8282\u7f16\u7801\u3002\u540c\u6837\uff0c\u4e5f\u53ef\u4ee5\u7528\u4e8e\u4e2d\u6587\u7f16\u7801\u3002\u65e5\u6587\u548c\u6c49\u5b57\u7684\u7f16\u7801\u4f1a\u51cf\u53bb\u4e00\u4e2a\u503c\u3002\u5982\uff1a\u57280X8140 to 0X9FFC\u4e2d\u7684\u5b57\u7b26\u4f1a\u51cf\u53bb8140\uff0c\u57280XE040\u52300XEBBF\u4e2d\u7684\u5b57\u7b26\u8981\u51cf\u53bb0XC140\uff0c\u7136\u540e\u628a\u7ed3\u679c\u524d\u4e24\u4e2a16\u8fdb\u5236\u4f4d\u62ff\u51fa\u6765\u4e58\u4ee50XC0\uff0c\u7136\u540e\u518d\u52a0\u4e0a\u540e\u4e24\u4e2a16\u8fdb\u5236\u4f4d\uff0c\u6700\u540e\u8f6c\u621013bit\u7684\u7f16\u7801\u3002\u5982\u4e0b\u56fe\u793a\u4f8b\uff1a<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"aligncenter  wp-image-10595\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Kanji-mode.png\" ><\/p>\n<p><strong>Extended Channel Interpretation (ECI) mode<\/strong>&nbsp;\u4e3b\u8981\u7528\u4e8e\u7279\u6b8a\u7684\u5b57\u7b26\u96c6\u3002\u5e76\u4e0d\u662f\u6240\u6709\u7684\u626b\u63cf\u5668\u90fd\u652f\u6301\u8fd9\u79cd\u7f16\u7801\u3002<\/p>\n<p><strong>Structured Append mode<\/strong>&nbsp;\u7528\u4e8e\u6df7\u5408\u7f16\u7801\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u4e2a\u4e8c\u7ef4\u7801\u4e2d\u5305\u542b\u4e86\u591a\u79cd\u7f16\u7801\u683c\u5f0f\u3002<\/p>\n<p><strong>FNC1 mode<\/strong>&nbsp;\u8fd9\u79cd\u7f16\u7801\u65b9\u5f0f\u4e3b\u8981\u662f\u7ed9\u4e00\u4e9b\u7279\u6b8a\u7684\u5de5\u4e1a\u6216\u884c\u4e1a\u7528\u7684\u3002\u6bd4\u5982GS1\u6761\u5f62\u7801\u4e4b\u7c7b\u7684\u3002<\/p>\n<p>\u7b80\u5355\u8d77\u89c1\uff0c\u540e\u9762\u4e09\u79cd\u4e0d\u4f1a\u5728\u672c\u6587 \u4e2d\u8ba8\u8bba\u3002<\/p>\n<p>\u4e0b\u9762\u4e24\u5f20\u8868\u4e2d\uff0c<\/p>\n<ul>\n<li>Table 2 \u662f\u5404\u4e2a\u7f16\u7801\u683c\u5f0f\u7684\u201c\u7f16\u53f7\u201d\uff0c\u8fd9\u4e2a\u4e1c\u897f\u8981\u5199\u5728Format Information\u4e2d\u3002\u6ce8\uff1a\u4e2d\u6587\u662f1101<\/li>\n<\/ul>\n<ul>\n<li>Table 3 \u8868\u793a\u4e86\uff0c\u4e0d\u540c\u7248\u672c\uff08\u5c3a\u5bf8\uff09\u7684\u4e8c\u7ef4\u7801\uff0c\u5bf9\u4e8e\uff0c\u6570\u5b57\uff0c\u5b57\u7b26\uff0c\u5b57\u8282\u548cKanji\u6a21\u5f0f\u4e0b\uff0c\u5bf9\u4e8e\u5355\u4e2a\u7f16\u7801\u76842\u8fdb\u5236\u7684\u4f4d\u6570\u3002\uff08\u5728\u4e8c\u7ef4\u7801\u7684\u89c4\u683c\u8bf4\u660e\u4e66\u4e2d\uff0c\u6709\u5404\u79cd\u5404\u6837\u7684\u7f16\u7801\u89c4\u8303\u8868\uff0c\u540e\u9762\u8fd8\u4f1a\u63d0\u5230\uff09<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-10596\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Mode-Indicator.png\" ><\/p>\n<p>\u4e0b\u9762\u6211\u4eec\u770b\u51e0\u4e2a\u793a\u4f8b\uff0c<\/p>\n<h5>\u793a\u4f8b\u4e00\uff1a\u6570\u5b57\u7f16\u7801<\/h5>\n<p style=\"padding-left: 30px;\">\u5728Version 1\u7684\u5c3a\u5bf8\u4e0b\uff0c\u7ea0\u9519\u7ea7\u522b\u4e3aH\u7684\u60c5\u51b5\u4e0b\uff0c\u7f16\u7801\uff1a 01234567<\/p>\n<p style=\"padding-left: 30px;\">1. \u628a\u4e0a\u8ff0\u6570\u5b57\u5206\u6210\u4e09\u7ec4: 012 345 67<\/p>\n<p style=\"padding-left: 30px;\">2. \u628a\u4ed6\u4eec\u8f6c\u6210\u4e8c\u8fdb\u5236: &nbsp;012 \u8f6c\u6210 0000001100\uff1b &nbsp;345 \u8f6c\u6210 0101011001\uff1b &nbsp;67 \u8f6c\u6210 1000011\u3002<\/p>\n<p style=\"padding-left: 30px;\">3. \u628a\u8fd9\u4e09\u4e2a\u4e8c\u8fdb\u5236\u4e32\u8d77\u6765: 0000001100 0101011001 1000011<\/p>\n<p style=\"padding-left: 30px;\">4. \u628a\u6570\u5b57\u7684\u4e2a\u6570\u8f6c\u6210\u4e8c\u8fdb\u5236 (version 1-H\u662f10 bits ):&nbsp;8\u4e2a\u6570\u5b57\u7684\u4e8c\u8fdb\u5236\u662f 0000001000<\/p>\n<p style=\"padding-left: 30px;\">5. \u628a\u6570\u5b57\u7f16\u7801\u7684\u6807\u5fd70001\u548c\u7b2c4\u6b65\u7684\u7f16\u7801\u52a0\u5230\u524d\u9762: &nbsp;0001 0000001000 0000001100 0101011001 1000011<\/p>\n<h5>\u793a\u4f8b\u4e8c\uff1a\u5b57\u7b26\u7f16\u7801<\/h5>\n<p style=\"padding-left: 30px;\">\u5728Version 1\u7684\u5c3a\u5bf8\u4e0b\uff0c\u7ea0\u9519\u7ea7\u522b\u4e3aH\u7684\u60c5\u51b5\u4e0b\uff0c\u7f16\u7801: AC-42<\/p>\n<p style=\"padding-left: 30px;\">1. \u4ece\u5b57\u7b26\u7d22\u5f15\u8868\u4e2d\u627e\u5230 AC-42 \u8fd9\u4e94\u4e2a\u5b57\u6761\u7684\u7d22\u5f15 (10,12,41,4,2)<\/p>\n<p style=\"padding-left: 30px;\">2. \u4e24\u4e24\u5206\u7ec4: (10,12) (41,4) (2)<\/p>\n<p style=\"padding-left: 30px;\">3.\u628a\u6bcf\u4e00\u7ec4\u8f6c\u621011bits\u7684\u4e8c\u8fdb\u5236:<\/p>\n<p style=\"padding-left: 60px;\">(10,12) 10*45+12 \u7b49\u4e8e 462 \u8f6c\u6210 00111001110<br \/>\n(41,4) 41*45+4 \u7b49\u4e8e 1849 \u8f6c\u6210 11100111001<br \/>\n(2) \u7b49\u4e8e 2 \u8f6c\u6210 000010<\/p>\n<p style=\"padding-left: 30px;\">4. \u628a\u8fd9\u4e9b\u4e8c\u8fdb\u5236\u8fde\u63a5\u8d77\u6765\uff1a00111001110 11100111001 000010<\/p>\n<p style=\"padding-left: 30px;\">5. \u628a\u5b57\u7b26\u7684\u4e2a\u6570\u8f6c\u6210\u4e8c\u8fdb\u5236 (Version 1-H\u4e3a9 bits ):&nbsp;5\u4e2a\u5b57\u7b26\uff0c5\u8f6c\u6210 000000101<\/p>\n<p style=\"padding-left: 30px;\">6. \u5728\u5934\u4e0a\u52a0\u4e0a\u7f16\u7801\u6807\u8bc6 0010 \u548c\u7b2c5\u6b65\u7684\u4e2a\u6570\u7f16\u7801: &nbsp;0010 000000101 00111001110 11100111001 000010<\/p>\n<h4>\u7ed3\u675f\u7b26\u548c\u8865\u9f50\u7b26<\/h4>\n<p>\u5047\u5982\u6211\u4eec\u6709\u4e2aHELLO WORLD\u7684\u5b57\u7b26\u4e32\u8981\u7f16\u7801\uff0c\u6839\u636e\u4e0a\u9762\u7684\u793a\u4f8b\u4e8c\uff0c\u6211\u4eec\u53ef\u4ee5\u5f97\u5230\u4e0b\u9762\u7684\u7f16\u7801\uff0c<\/p>\n<table>\n<tbody>\n<tr>\n<th>\u7f16\u7801<\/th>\n<th>\u5b57\u7b26\u6570<\/th>\n<th>HELLO WORLD\u7684\u7f16\u7801<\/th>\n<\/tr>\n<tr>\n<td>0010<\/td>\n<td>000001011<\/td>\n<td>01100001011 01111000110 10001011100 10110111000 10011010100 001101<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u6211\u4eec\u8fd8\u8981\u52a0\u4e0a\u7ed3\u675f\u7b26\uff1a<\/p>\n<table>\n<tbody>\n<tr>\n<th>\u7f16\u7801<\/th>\n<th>\u5b57\u7b26\u6570<\/th>\n<th>HELLO WORLD\u7684\u7f16\u7801<\/th>\n<th>\u7ed3\u675f<\/th>\n<\/tr>\n<tr>\n<td>0010<\/td>\n<td>000001011<\/td>\n<td>01100001011 01111000110 10001011100 10110111000 10011010100 001101<\/td>\n<td>0000<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h5>\u63098bits\u91cd\u6392<\/h5>\n<p>\u5982\u679c\u6240\u6709\u7684\u7f16\u7801\u52a0\u8d77\u6765\u4e0d\u662f8\u4e2a\u500d\u6570\u6211\u4eec\u8fd8\u8981\u5728\u540e\u9762\u52a0\u4e0a\u8db3\u591f\u76840\uff0c\u6bd4\u5982\u4e0a\u9762\u4e00\u5171\u670978\u4e2abits\uff0c\u6240\u4ee5\uff0c\u6211\u4eec\u8fd8\u8981\u52a0\u4e0a2\u4e2a0\uff0c\u7136\u540e\u63098\u4e2abits\u5206\u597d\u7ec4\uff1a<\/p>\n<p>00100000 &nbsp; 01011011 &nbsp; 00001011 &nbsp; 01111000 &nbsp; 11010001 &nbsp; 01110010 &nbsp; 11011100 &nbsp; 01001101 &nbsp; 01000011 &nbsp; 010000<span style=\"color: #ff0000;\"><strong>00<\/strong><\/span><\/p>\n<h5>\u8865\u9f50\u7801\uff08Padding Bytes\uff09<\/h5>\n<p>\u6700\u540e\uff0c\u5982\u679c\u5982\u679c\u8fd8\u6ca1\u6709\u8fbe\u5230\u6211\u4eec\u6700\u5927\u7684bits\u6570\u7684\u9650\u5236\uff0c\u6211\u4eec\u8fd8\u8981\u52a0\u4e00\u4e9b\u8865\u9f50\u7801\uff08Padding Bytes\uff09\uff0cPadding Bytes\u5c31\u662f\u91cd\u590d\u4e0b\u9762\u7684\u4e24\u4e2abytes\uff1a11101100 00010001 \uff08\u8fd9\u4e24\u4e2a\u4e8c\u8fdb\u5236\u8f6c\u6210\u5341\u8fdb\u5236\u662f236\u548c17\uff0c\u6211\u4e5f\u4e0d\u77e5\u9053\u4e3a\u4ec0\u4e48\uff0c\u53ea\u77e5\u9053Spec\u4e0a\u662f\u8fd9\u4e48\u5199\u7684\uff09\u5173\u4e8e\u6bcf\u4e00\u4e2aVersion\u7684\u6bcf\u4e00\u79cd\u7ea0\u9519\u7ea7\u522b\u7684\u6700\u5927Bits\u9650\u5236\uff0c\u53ef\u4ee5\u53c2\u770b<a href=\"http:\/\/s2.alyzq.com\/2014-02-28qr_code.pdf\" target=\"_blank\">QR Code Spec<\/a>\u7684\u7b2c28\u9875\u523032\u9875\u7684Table-7\u4e00\u8868\u3002<\/p>\n<p>\u5047\u8bbe\u6211\u4eec\u9700\u8981\u7f16\u7801\u7684\u662fVersion 1\u7684Q\u7ea0\u9519\u7ea7\uff0c\u90a3\u4e48\uff0c\u5176\u6700\u5927\u9700\u8981104\u4e2abits\uff0c\u800c\u6211\u4eec\u4e0a\u9762\u53ea\u670980\u4e2abits\uff0c\u6240\u4ee5\uff0c\u8fd8\u9700\u8981\u886524\u4e2abits\uff0c\u4e5f\u5c31\u662f\u9700\u89813\u4e2aPadding Bytes\uff0c\u6211\u4eec\u5c31\u6dfb\u52a0\u4e09\u4e2a\uff0c\u4e8e\u662f\u5f97\u5230\u4e0b\u9762\u7684\u7f16\u7801\uff1a<\/p>\n<p>00100000 01011011 00001011 01111000 11010001 01110010 11011100 01001101 01000011 01000000&nbsp;<span style=\"color: #ff0000;\"><strong>11101100 00010001 11101100<\/strong><\/span><\/p>\n<p>\u4e0a\u9762\u7684\u7f16\u7801\u5c31\u662f\u6570\u636e\u7801\u4e86\uff0c\u53ebData Codewords\uff0c\u6bcf\u4e00\u4e2a8bits\u53eb\u4e00\u4e2acodeword\uff0c\u6211\u4eec\u8fd8\u8981\u5bf9\u8fd9\u4e9b\u6570\u636e\u7801\u52a0\u4e0a\u7ea0\u9519\u4fe1\u606f\u3002<\/p>\n<h4>\u7ea0\u9519\u7801<\/h4>\n<p>\u4e0a\u9762\u6211\u4eec\u8bf4\u5230\u4e86\u4e00\u4e9b\u7ea0\u9519\u7ea7\u522b\uff0cError Correction Code Level\uff0c\u4e8c\u7ef4\u7801\u4e2d\u6709\u56db\u79cd\u7ea7\u522b\u7684\u7ea0\u9519\uff0c\u8fd9\u5c31\u662f\u4e3a\u4ec0\u4e48\u4e8c\u7ef4\u7801\u6709\u6b8b\u7f3a\u8fd8\u80fd\u626b\u51fa\u6765\uff0c\u4e5f\u5c31\u662f\u4e3a\u4ec0\u4e48\u6709\u4eba\u5728\u4e8c\u7ef4\u7801\u7684\u4e2d\u5fc3\u4f4d\u7f6e\u52a0\u5165\u56fe\u6807\u3002<\/p>\n<table>\n<tbody>\n<tr>\n<th colspan=\"2\">\u9519\u8bef\u4fee\u6b63\u5bb9\u91cf<\/th>\n<\/tr>\n<tr>\n<td>L\u6c34\u5e73<\/td>\n<td>7%\u7684\u5b57\u7801\u53ef\u88ab\u4fee\u6b63<\/td>\n<\/tr>\n<tr>\n<td>M\u6c34\u5e73<\/td>\n<td>15%\u7684\u5b57\u7801\u53ef\u88ab\u4fee\u6b63<\/td>\n<\/tr>\n<tr>\n<td>Q\u6c34\u5e73<\/td>\n<td>25%\u7684\u5b57\u7801\u53ef\u88ab\u4fee\u6b63<\/td>\n<\/tr>\n<tr>\n<td>H\u6c34\u5e73<\/td>\n<td>30%\u7684\u5b57\u7801\u53ef\u88ab\u4fee\u6b63<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u90a3\u4e48\uff0cQR\u662f\u600e\u4e48\u5bf9\u6570\u636e\u7801\u52a0\u4e0a\u7ea0\u9519\u7801\u7684\uff1f\u9996\u5148\uff0c\u6211\u4eec\u9700\u8981\u5bf9\u6570\u636e\u7801\u8fdb\u884c\u5206\u7ec4\uff0c\u4e5f\u5c31\u662f\u5206\u6210\u4e0d\u540c\u7684Block\uff0c\u7136\u540e\u5bf9\u5404\u4e2aBlock\u8fdb\u884c\u7ea0\u9519\u7f16\u7801\uff0c\u5bf9\u4e8e\u5982\u4f55\u5206\u7ec4\uff0c\u6211\u4eec\u53ef\u4ee5\u67e5\u770b<a href=\"http:\/\/s2.alyzq.com\/2014-02-28qr_code.pdf\" target=\"_blank\">QR Code Spec<\/a>\u7684\u7b2c33\u9875\u523044\u9875\u7684Table-13\u5230Table-22\u7684\u5b9a\u4e49\u8868\u3002\u6ce8\u610f\u6700\u540e\u4e24\u5217\uff1a<\/p>\n<ul>\n<li><strong>Number of Error Code Correction Blocks<\/strong> \uff1a\u9700\u8981\u5206\u591a\u5c11\u4e2a\u5757\u3002<\/li>\n<\/ul>\n<ul>\n<li><strong>Error Correction Code Per Blocks<\/strong>\uff1a\u6bcf\u4e00\u4e2a\u5757\u4e2d\u7684code\u4e2a\u6570\uff0c\u6240\u8c13\u7684code\u7684\u4e2a\u6570\uff0c\u4e5f\u5c31\u662f\u6709\u591a\u5c11\u4e2a8bits\u7684\u5b57\u8282\u3002<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-10600\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Error-Correction-Blocks.png\" ><\/p>\n<p>\u4e3e\u4e2a\u4f8b\u5b50\uff1a\u4e0a\u8ff0\u7684Version 5 + Q\u7ea0\u9519\u7ea7\uff1a\u9700\u89814\u4e2aBlocks\uff082\u4e2aBlocks\u4e3a\u4e00\u7ec4\uff0c\u5171\u4e24\u7ec4\uff09\uff0c\u5934\u4e00\u7ec4\u7684\u4e24\u4e2aBlocks\u4e2d\u540415\u4e2abits\u6570\u636e + \u5404 9\u4e2abits\u7684\u7ea0\u9519\u7801\uff08\u6ce8\uff1a\u8868\u4e2d\u7684codewords\u5c31\u662f\u4e00\u4e2a8bits\u7684byte\uff09\uff08\u518d\u6ce8\uff1a\u6700\u540e\u4e00\u4f8b\u4e2d\u7684\uff08c, k, r \uff09\u7684\u516c\u5f0f\u4e3a\uff1ac = k + 2 * r\uff0c\u56e0\u4e3a\u540e\u811a\u6ce8\u89e3\u91ca\u4e86\uff1a\u7ea0\u9519\u7801\u7684\u5bb9\u91cf\u5c0f\u4e8e\u7ea0\u9519\u7801\u7684\u4e00\u534a\uff09<\/p>\n<p>\u4e0b\u56fe\u7ed9\u4e00\u4e2a5-Q\u7684\u793a\u4f8b\uff08\u56e0\u4e3a\u4e8c\u8fdb\u5236\u5199\u8d77\u6765\u4f1a\u8ba9\u8868\u683c\u592a\u5927\uff0c\u6240\u4ee5\uff0c\u6211\u90fd\u7528\u4e86\u5341\u8fdb\u5236\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u6bcf\u4e00\u5757\u7684\u7ea0\u9519\u7801\u670918\u4e2acodewords\uff0c\u4e5f\u5c31\u662f18\u4e2a8bits\u7684\u4e8c\u8fdb\u5236\u6570\uff09<\/p>\n<table>\n<tbody>\n<tr>\n<th>\u7ec4<\/th>\n<th>\u5757<\/th>\n<th>\u6570\u636e<\/th>\n<th>\u5bf9\u6bcf\u4e2a\u5757\u7684\u7ea0\u9519\u7801<\/th>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\" rowspan=\"2\">1<\/td>\n<td style=\"text-align: center;\">1<\/td>\n<td>67 85 70 134 87 38 85 194 119 50 6 18 6 103 38<\/td>\n<td>213 199 11 45 115 247 241 223 229 248 154 117 154 111 86 161 111 39<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">2<\/td>\n<td>246 246 66 7 118 134 242 7 38 86 22 198 199 146 6<\/td>\n<td>87 204 96 60 202 182 124 157 200 134 27 129 209 17 163 163 120 133<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\" rowspan=\"2\">2<\/td>\n<td style=\"text-align: center;\">1<\/td>\n<td>182 230 247 119 50 7 118 134 87 38 82 6 134 151 50 7<\/td>\n<td>148 116 177 212 76 133 75 242 238 76 195 230 189 10 108 240 192 141<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">2<\/td>\n<td>70 247 118 86 194 6 151 50 16 236 17 236 17 236 17 236<\/td>\n<td>235 159 5 173 24 147 59 33 106 40 255 172 82 2 131 32 178 236<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u6ce8\uff1a\u4e8c\u7ef4\u7801\u7684\u7ea0\u9519\u7801\u4e3b\u8981\u662f\u901a\u8fc7<a href=\"http:\/\/en.wikipedia.org\/wiki\/Reed%E2%80%93Solomon_error_correction\">Reed-Solomon error correction<\/a>\uff08\u91cc\u5fb7-\u6240\u7f57\u95e8\u7ea0\u9519\u7b97\u6cd5\uff09\u6765\u5b9e\u73b0\u7684\u3002\u5bf9\u4e8e\u8fd9\u4e2a\u7b97\u6cd5\uff0c\u5bf9\u4e8e\u6211\u6765\u8bf4\u662f\u76f8\u5f53\u7684\u590d\u6742\uff0c\u91cc\u9762\u6709\u5f88\u591a\u7684\u6570\u5b66\u8ba1\u7b97\uff0c\u6bd4\u5982\uff1a\u591a\u9879\u5f0f\u9664\u6cd5\uff0c\u628a1-255\u7684\u6570\u6620\u5c04\u62102\u7684n\u6b21\u65b9\uff080&lt;=n&lt;=255\uff09\u7684\u4f3d\u7f57\u74e6\u57dfGalois Field\u4e4b\u7c7b\u7684\u795e\u4e00\u6837\u7684\u4e1c\u897f\uff0c\u4ee5\u53ca\u57fa\u4e8e\u8fd9\u4e9b\u57fa\u7840\u7684\u7ea0\u9519\u6570\u5b66\u516c\u5f0f\uff0c\u56e0\u4e3a\u6211\u7684\u6570\u636e\u57fa\u7840\u5dee\uff0c\u5bf9\u4e8e\u6211\u6765\u8bf4\u592a\u8fc7\u590d\u6742\uff0c\u6240\u4ee5\u6211\u4e00\u65f6\u534a\u4f1a\u513f\u8fd8\u6709\u70b9\u6ca1\u641e\u660e\u767d\uff0c\u8fd8\u5728\u5b66\u4e60\u4e2d\uff0c\u6240\u4ee5\uff0c\u6211\u5728\u8fd9\u91cc\u5c31\u4e0d\u5c55\u5f00\u8bf4\u8fd9\u4e9b\u4e1c\u897f\u4e86\u3002\u8fd8\u8bf7\u5927\u5bb6\u89c1\u8c05\u4e86\u3002\uff08\u5f53\u7136\uff0c\u5982\u679c\u6709\u670b\u53cb\u5f88\u660e\u767d\uff0c\u4e5f\u7e41\u8bf7\u6559\u6559\u6211\uff09<\/p>\n<h4>\u6700\u7ec8\u7f16\u7801<\/h4>\n<h5>\u7a7f\u63d2\u653e\u7f6e<\/h5>\n<p>\u5982\u679c\u4f60\u4ee5\u4e3a\u6211\u4eec\u53ef\u4ee5\u5f00\u59cb\u753b\u56fe\uff0c\u4f60\u5c31\u9519\u4e86\u3002\u4e8c\u7ef4\u7801\u7684\u6df7\u4e71\u6280\u672f\u8fd8\u6ca1\u6709\u73a9\u5b8c\uff0c\u5b83\u8fd8\u8981\u628a\u6570\u636e\u7801\u548c\u7ea0\u9519\u7801\u7684\u5404\u4e2acodewords\u4ea4\u66ff\u653e\u5728\u4e00\u8d77\u3002\u5982\u4f55\u4ea4\u66ff\u5462\uff0c\u89c4\u5219\u5982\u4e0b\uff1a<\/p>\n<p>\u5bf9\u4e8e\u6570\u636e\u7801\uff1a\u628a\u6bcf\u4e2a\u5757\u7684\u7b2c\u4e00\u4e2acodewords\u5148\u62ff\u51fa\u6765\u6309\u987a\u5ea6\u6392\u5217\u597d\uff0c\u7136\u540e\u518d\u53d6\u7b2c\u4e00\u5757\u7684\u7b2c\u4e8c\u4e2a\uff0c\u5982\u6b64\u7c7b\u63a8\u3002\u5982\uff1a\u4e0a\u8ff0\u793a\u4f8b\u4e2d\u7684Data Codewords\u5982\u4e0b\uff1a<\/p>\n<table class=\"coolshell\">\n<tbody>\n<tr>\n<td class=\"head\">\u5757 1<\/td>\n<td>67<\/td>\n<td>85<\/td>\n<td>70<\/td>\n<td>134<\/td>\n<td>87<\/td>\n<td>38<\/td>\n<td>85<\/td>\n<td>194<\/td>\n<td>119<\/td>\n<td>50<\/td>\n<td>6<\/td>\n<td>18<\/td>\n<td>6<\/td>\n<td>103<\/td>\n<td>38<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td class=\"head\">\u5757 2<\/td>\n<td>246<\/td>\n<td>246<\/td>\n<td>66<\/td>\n<td>7<\/td>\n<td>118<\/td>\n<td>134<\/td>\n<td>242<\/td>\n<td>7<\/td>\n<td>38<\/td>\n<td>86<\/td>\n<td>22<\/td>\n<td>198<\/td>\n<td>199<\/td>\n<td>146<\/td>\n<td>6<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td class=\"head\">\u5757 3<\/td>\n<td>182<\/td>\n<td>230<\/td>\n<td>247<\/td>\n<td>119<\/td>\n<td>50<\/td>\n<td>7<\/td>\n<td>118<\/td>\n<td>134<\/td>\n<td>87<\/td>\n<td>38<\/td>\n<td>82<\/td>\n<td>6<\/td>\n<td>134<\/td>\n<td>151<\/td>\n<td>50<\/td>\n<td>7<\/td>\n<\/tr>\n<tr>\n<td class=\"head\">\u5757 4<\/td>\n<td>70<\/td>\n<td>247<\/td>\n<td>118<\/td>\n<td>86<\/td>\n<td>194<\/td>\n<td>6<\/td>\n<td>151<\/td>\n<td>50<\/td>\n<td>16<\/td>\n<td>236<\/td>\n<td>17<\/td>\n<td>236<\/td>\n<td>17<\/td>\n<td>236<\/td>\n<td>17<\/td>\n<td>236<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u6211\u4eec\u5148\u53d6\u7b2c\u4e00\u5217\u7684\uff1a67\uff0c 246\uff0c 182\uff0c 70<\/p>\n<p>\u7136\u540e\u518d\u53d6\u7b2c\u4e8c\u5217\u7684\uff1a67\uff0c 246\uff0c 182\uff0c 70\uff0c 85\uff0c246\uff0c230 \uff0c247<\/p>\n<p>\u5982\u6b64\u7c7b\u63a8\uff1a67\uff0c 246\uff0c 182\uff0c 70\uff0c 85\uff0c246\uff0c230 \uff0c247 \u2026\u2026\u2026 &nbsp;\u2026\u2026\u2026 \uff0c38\uff0c6\uff0c50\uff0c17\uff0c7\uff0c236<\/p>\n<p>\u5bf9\u4e8e\u7ea0\u9519\u7801\uff0c\u4e5f\u662f\u4e00\u6837\uff1a<\/p>\n<table class=\"coolshell\">\n<tbody>\n<tr>\n<td class=\"head\">\u5757 1<\/td>\n<td>213<\/td>\n<td>199<\/td>\n<td>11<\/td>\n<td>45<\/td>\n<td>115<\/td>\n<td>247<\/td>\n<td>241<\/td>\n<td>223<\/td>\n<td>229<\/td>\n<td>248<\/td>\n<td>154<\/td>\n<td>117<\/td>\n<td>154<\/td>\n<td>111<\/td>\n<td>86<\/td>\n<td>161<\/td>\n<td>111<\/td>\n<td>39<\/td>\n<\/tr>\n<tr>\n<td class=\"head\">\u5757 2<\/td>\n<td>87<\/td>\n<td>204<\/td>\n<td>96<\/td>\n<td>60<\/td>\n<td>202<\/td>\n<td>182<\/td>\n<td>124<\/td>\n<td>157<\/td>\n<td>200<\/td>\n<td>134<\/td>\n<td>27<\/td>\n<td>129<\/td>\n<td>209<\/td>\n<td>17<\/td>\n<td>163<\/td>\n<td>163<\/td>\n<td>120<\/td>\n<td>133<\/td>\n<\/tr>\n<tr>\n<td class=\"head\">\u5757 3<\/td>\n<td>148<\/td>\n<td>116<\/td>\n<td>177<\/td>\n<td>212<\/td>\n<td>76<\/td>\n<td>133<\/td>\n<td>75<\/td>\n<td>242<\/td>\n<td>238<\/td>\n<td>76<\/td>\n<td>195<\/td>\n<td>230<\/td>\n<td>189<\/td>\n<td>10<\/td>\n<td>108<\/td>\n<td>240<\/td>\n<td>192<\/td>\n<td>141<\/td>\n<\/tr>\n<tr>\n<td class=\"head\">\u5757 4<\/td>\n<td>235<\/td>\n<td>159<\/td>\n<td>5<\/td>\n<td>173<\/td>\n<td>24<\/td>\n<td>147<\/td>\n<td>59<\/td>\n<td>33<\/td>\n<td>106<\/td>\n<td>40<\/td>\n<td>255<\/td>\n<td>172<\/td>\n<td>82<\/td>\n<td>2<\/td>\n<td>131<\/td>\n<td>32<\/td>\n<td>178<\/td>\n<td>236<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u548c\u6570\u636e\u7801\u53d6\u7684\u4e00\u6837\uff0c\u5f97\u5230\uff1a213\uff0c87\uff0c148\uff0c235\uff0c199\uff0c204\uff0c116\uff0c159\uff0c\u2026\u2026 \u2026\u2026&nbsp;39\uff0c133\uff0c141\uff0c236<\/p>\n<p>\u7136\u540e\uff0c\u518d\u628a\u8fd9\u4e24\u7ec4\u653e\u5728\u4e00\u8d77\uff08\u7ea0\u9519\u7801\u653e\u5728\u6570\u636e\u7801\u4e4b\u540e\uff09\u5f97\u5230\uff1a<\/p>\n<p>67, 246, 182, 70, 85, 246, 230, 247, 70, 66, 247, 118, 134, 7, 119, 86, 87, 118, 50, 194, 38, 134, 7, 6, 85, 242, 118, 151, 194, 7, 134, 50, 119, 38, 87, 16, 50, 86, 38, 236, 6, 22, 82, 17, 18, 198, 6, 236, 6, 199, 134, 17, 103, 146, 151, 236, 38, 6, 50, 17, 7, 236, 213, 87, 148, 235, 199, 204, 116, 159, 11, 96, 177, 5, 45, 60, 212, 173, 115, 202, 76, 24, 247, 182, 133, 147, 241, 124, 75, 59, 223, 157, 242, 33, 229, 200, 238, 106, 248, 134, 76, 40, 154, 27, 195, 255, 117, 129, 230, 172, 154, 209, 189, 82, 111, 17, 10, 2, 86, 163, 108, 131, 161, 163, 240, 32, 111, 120, 192, 178, 39, 133, 141, 236<\/p>\n<p>\u8fd9\u5c31\u662f\u6211\u4eec\u7684\u6570\u636e\u533a\u3002<\/p>\n<h5>Remainder Bits<\/h5>\n<p>\u6700\u540e\u518d\u52a0\u4e0aReminder&nbsp;Bits\uff0c\u5bf9\u4e8e\u67d0\u4e9bVersion\u7684QR\uff0c\u4e0a\u9762\u7684\u8fd8\u4e0d\u591f\u957f\u5ea6\uff0c\u8fd8\u8981\u52a0\u4e0aRemainder Bits\uff0c\u6bd4\u5982\uff1a\u4e0a\u8ff0\u76845Q\u7248\u7684\u4e8c\u7ef4\u7801\uff0c\u8fd8\u8981\u52a0\u4e0a7\u4e2abits\uff0cRemainder Bits\u52a0\u96f6\u5c31\u597d\u4e86\u3002\u5173\u4e8e\u54ea\u4e9bVersion\u9700\u8981\u591a\u5c11\u4e2aRemainder bit\uff0c\u53ef\u4ee5\u53c2\u770b<a href=\"http:\/\/s2.alyzq.com\/2014-02-28qr_code.pdf\" target=\"_blank\">QR Code Spec<\/a>\u7684\u7b2c15\u9875\u7684Table-1\u7684\u5b9a\u4e49\u8868\u3002<\/p>\n<h4>\u753b\u4e8c\u7ef4\u7801\u56fe<\/h4>\n<h5>Position Detection Pattern<\/h5>\n<p>\u9996\u5148\uff0c\u5148\u628aPosition Detection\u56fe\u6848\u753b\u5728\u4e09\u4e2a\u89d2\u4e0a\u3002\uff08\u65e0\u8bbaVersion\u5982\u4f55\uff0c\u8fd9\u4e2a\u56fe\u6848\u7684\u5c3a\u5bf8\u5c31\u662f\u8fd9\u4e48\u5927\uff09<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/finder.png\" ><\/p>\n<h5>Alignment Pattern<\/h5>\n<p>\u7136\u540e\uff0c\u518d\u628aAlignment\u56fe\u6848\u753b\u4e0a\uff08\u65e0\u8bbaVersion\u5982\u4f55\uff0c\u8fd9\u4e2a\u56fe\u6848\u7684\u5c3a\u5bf8\u5c31\u662f\u8fd9\u4e48\u5927\uff09<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/alignment-pattern.png\" ><\/p>\n<p>\u5173\u4e8eAlignment\u7684\u4f4d\u7f6e\uff0c\u53ef\u4ee5\u67e5\u770b<a href=\"http:\/\/s2.alyzq.com\/2014-02-28qr_code.pdf\" target=\"_blank\">QR Code Spec<\/a>\u7684\u7b2c81\u9875\u7684Table-E.1\u7684\u5b9a\u4e49\u8868\uff08\u4e0b\u8868\u662f\u4e0d\u5b8c\u5168\u8868\u683c\uff09<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-10613\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Alignment-Position.png\" ><\/p>\n<p>\u4e0b\u56fe\u662f\u6839\u636e\u4e0a\u8ff0\u8868\u683c\u4e2d\u7684Version8\u7684\u4e00\u4e2a\u4f8b\u5b50\uff086\uff0c24\uff0c42\uff09<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-10606\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/alignment-example.png\" ><\/p>\n<h5>Timing Pattern<\/h5>\n<p>\u63a5\u4e0b\u6765\u662fTiming Pattern\u7684\u7ebf\uff08\u8fd9\u4e2a\u4e0d\u7528\u591a\u8bf4\u4e86\uff09<\/p>\n<p style=\"text-align: center;\"><strong><img decoding=\"async\" class=\"aligncenter\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Timing-Pattern.png\" ><\/strong><\/p>\n<h5>Format Information<\/h5>\n<p>\u518d\u63a5\u4e0b\u6765\u662fFormation Information\uff0c\u4e0b\u56fe\u4e2d\u7684\u84dd\u8272\u90e8\u5206\u3002<\/p>\n<p style=\"text-align: left;\"><img decoding=\"async\" class=\"aligncenter  wp-image-10610\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Format-Information.png\" ><\/p>\n<p style=\"text-align: left;\">Format Information\u662f\u4e00\u4e2a15\u4e2abits\u7684\u4fe1\u606f\uff0c\u6bcf\u4e00\u4e2abit\u7684\u4f4d\u7f6e\u5982\u4e0b\u56fe\u6240\u793a\uff1a\uff08\u6ce8\u610f\u56fe\u4e2d\u7684Dark Module\uff0c\u90a3\u662f\u6c38\u8fdc\u51fa\u73b0\u7684\uff09<\/p>\n<p style=\"text-align: left;\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-10630\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Format-Info-bits-postion.png\" ><\/p>\n<p style=\"text-align: left;\">\u8fd915\u4e2abits\u4e2d\u5305\u62ec\uff1a<\/p>\n<ul>\n<li>5\u4e2a\u6570\u636ebits\uff1a\u5176\u4e2d\uff0c2\u4e2abits\u7528\u4e8e\u8868\u793a\u4f7f\u7528\u4ec0\u4e48\u6837\u7684Error Correction Level\uff0c 3\u4e2abits\u8868\u793a\u4f7f\u7528\u4ec0\u4e48\u6837\u7684Mask<\/li>\n<li>10\u4e2a\u7ea0\u9519bits\u3002\u4e3b\u8981\u901a\u8fc7BCH Code\u6765\u8ba1\u7b97<\/li>\n<\/ul>\n<p>\u7136\u540e15\u4e2abits\u8fd8\u8981\u4e0e101010000010010\u505aXOR\u64cd\u4f5c\u3002\u8fd9\u6837\u5c31\u4fdd\u8bc1\u4e0d\u4f1a\u56e0\u4e3a\u6211\u4eec\u9009\u7528\u4e8600\u7684\u7ea0\u9519\u7ea7\u522b\u548c000\u7684Mask\uff0c\u4ece\u800c\u9020\u6210\u5168\u90e8\u4e3a\u767d\u8272\uff0c\u8fd9\u4f1a\u589e\u52a0\u6211\u4eec\u7684\u626b\u63cf\u5668\u7684\u56fe\u50cf\u8bc6\u522b\u7684\u56f0\u96be\u3002<\/p>\n<p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-10631\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Format-Information-Example.png\" ><\/p>\n<p>\u5173\u4e8eError Correction Level\u5982\u4e0b\u8868\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-10632\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Error-Correction-Indicator-Code.png\" ><\/p>\n<p>\u5173\u4e8eMask\u56fe\u6848\u5982\u540e\u9762\u7684Table 23\u6240\u793a\u3002<\/p>\n<h5 style=\"text-align: left;\">Version Information<\/h5>\n<p style=\"text-align: left;\">\u518d\u63a5\u4e0b\u6765\u662fVersion Information\uff08\u7248\u672c7\u4ee5\u540e\u9700\u8981\u8fd9\u4e2a\u7f16\u7801\uff09\uff0c\u4e0b\u56fe\u4e2d\u7684\u84dd\u8272\u90e8\u5206\u3002<br \/>\n<img decoding=\"async\" class=\"aligncenter  wp-image-10612\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Version-Information.png\" ><\/p>\n<p>Version Information\u4e00\u5171\u662f18\u4e2abits\uff0c\u5176\u4e2d\u5305\u62ec6\u4e2abits\u7684\u7248\u672c\u53f7\u4ee5\u53ca12\u4e2abits\u7684\u7ea0\u9519\u7801\uff0c\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-10634\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Version-Information-Example.png\" ><\/p>\n<p>\u800c\u5176\u586b\u5145\u4f4d\u7f6e\u5982\u4e0b\uff1a<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-10635\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Version-Information-Position.png\" ><\/p>\n<h5>\u6570\u636e\u548c\u6570\u636e\u7ea0\u9519\u7801<\/h5>\n<p>\u7136\u540e\u662f\u586b\u63a5\u6211\u4eec\u7684\u6700\u7ec8\u7f16\u7801\uff0c\u6700\u7ec8\u7f16\u7801\u7684\u586b\u5145\u65b9\u5f0f\u5982\u4e0b\uff1a\u4ece\u5de6\u4e0b\u89d2\u5f00\u59cb\u6cbf\u7740\u7ea2\u7ebf\u586b\u6211\u4eec\u7684\u5404\u4e2abits\uff0c1\u662f\u9ed1\u8272\uff0c0\u662f\u767d\u8272\u3002\u5982\u679c\u9047\u5230\u4e86\u4e0a\u9762\u7684\u975e\u6570\u636e\u533a\uff0c\u5219\u7ed5\u5f00\u6216\u8df3\u8fc7\u3002<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Data-Placement.png\" ><\/p>\n<h5>\u63a9\u7801\u56fe\u6848<\/h5>\n<p>\u8fd9\u6837\u4e0b\u6765\uff0c\u6211\u4eec\u7684\u56fe\u5c31\u586b\u597d\u4e86\uff0c\u4f46\u662f\uff0c\u4e5f\u8bb8\u90a3\u4e9b\u70b9\u5e76\u4e0d\u5747\u8861\uff0c\u5982\u679c\u51fa\u73b0\u5927\u9762\u79ef\u7684\u7a7a\u767d\u6216\u9ed1\u5757\uff0c\u4f1a\u544a\u8bc9\u6211\u4eec\u626b\u63cf\u8bc6\u522b\u7684\u56f0\u96be\u3002\u6240\u4ee5\uff0c\u6211\u4eec\u8fd8\u8981\u505aMasking\u64cd\u4f5c\uff08\u9760\uff0c\u8fd8\u5acc\u4e0d\u590d\u6742\uff09QR\u7684Spec\u4e2d\u8bf4\u4e86\uff0cQR\u67098\u4e2aMask\u4f60\u53ef\u4ee5\u4f7f\u7528\uff0c\u5982\u4e0b\u6240\u793a\uff1a\u5176\u4e2d\uff0c\u5404\u4e2amask\u7684\u516c\u5f0f\u5728\u5404\u4e2a\u56fe\u4e0b\u9762\u3002\u6240\u8c13mask\uff0c\u8bf4\u767d\u4e86\uff0c\u5c31\u662f\u548c\u4e0a\u9762\u751f\u6210\u7684\u56fe\u505aXOR\u64cd\u4f5c\u3002Mask\u53ea\u4f1a\u548c\u6570\u636e\u533a\u8fdb\u884cXOR\uff0c\u4e0d\u4f1a\u5f71\u54cd\u529f\u80fd\u533a\u3002\uff08<strong>\u6ce8\uff1a\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684Mask\u4e5f\u662f\u6709\u7b97\u6cd5\u7684<\/strong>\uff09<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-10614\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/masking-pattern.png\" ><\/p>\n<p>\u5176Mask\u7684\u6807\u8bc6\u7801\u5982\u4e0b\u6240\u793a\uff1a\uff08\u5176\u4e2d\u7684i,j\u5206\u522b\u5bf9\u5e94\u4e8e\u4e0a\u56fe\u7684x,y\uff09<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-10633\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Mask-Pattern-Code.png\" ><\/p>\n<p>\u4e0b\u9762\u662fMask\u540e\u7684\u4e00\u4e9b\u6837\u5b50\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u88ab\u67d0\u4e9bMask XOR\u4e86\u7684\u6570\u636e\u53d8\u5f97\u6bd4\u8f83\u96f6\u6563\u4e86\u3002<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-10615\" alt=\"\" src=\"http:\/\/s3.alyzq.com\/blogger\/2014-02-28\/Masking-Examples.png\" ><\/p>\n<p>Mask\u8fc7\u540e\u7684\u4e8c\u7ef4\u7801\u5c31\u6210\u6700\u7ec8\u7684\u56fe\u4e86\u3002<\/p>\n<p>\u597d\u4e86\uff0c\u5927\u5bb6\u53ef\u4ee5\u53bb\u5c1d\u8bd5\u53bb\u5199\u4e00\u4e0bQR\u7684\u7f16\u7801\u7a0b\u5e8f\uff0c\u5f53\u7136\uff0c\u4f60\u53ef\u4ee5\u7528\u7f51\u4e0a\u627e\u4e2aReed Soloman\u7684\u7ea0\u9519\u7b97\u6cd5\u7684\u5e93\uff0c\u6216\u662f\u770b\u770b\u522b\u4eba\u7684\u6e90\u4ee3\u7801\u662f\u600e\u4e48\u5b9e\u73b0\u8fd9\u4e2a\u7e41\u9501\u7684\u7f16\u7801\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e8c\u7ef4\u7801\u53c8\u79f0QR Code\uff0cQR\u5168\u79f0Quick Response\uff0c\u662f\u4e00\u4e2a\u8fd1\u51e0\u5e74\u6765\u79fb &hellip; <a href=\"https:\/\/alyzq.com\/?p=1536\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[44,21],"_links":{"self":[{"href":"https:\/\/alyzq.com\/index.php?rest_route=\/wp\/v2\/posts\/1536"}],"collection":[{"href":"https:\/\/alyzq.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alyzq.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alyzq.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alyzq.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1536"}],"version-history":[{"count":0,"href":"https:\/\/alyzq.com\/index.php?rest_route=\/wp\/v2\/posts\/1536\/revisions"}],"wp:attachment":[{"href":"https:\/\/alyzq.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1536"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alyzq.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1536"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alyzq.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}