A QR code (an initialism for quick response code) is a type of matrix barcode (or two-dimensional barcode)[1][2] invented in 1994 by Japanese company Denso Wave. A barcode is a machine-readable optical label that can contain information about the item to which it is attached. In practice, QR codes often contain data for a locator, identifier, or tracker that points to a website or application. QR codes use four standardized encoding modes (numeric, alphanumeric, byte/binary, and kanji) to store data efficiently; extensions may also be used.[3]
The quick response system became popular outside the automotive industry due to its fast readability and greater storage capacity compared to standard UPC barcodes. Applications include product tracking, item identification, time tracking, document management, and general marketing.[4]
A QR code consists of black squares arranged in a square grid on a white background, including some fiducial markers, which can be read by an imaging device such as a camera, and processed using Reed–Solomon error correction until the image can be appropriately interpreted. The required data is then extracted from patterns that are present in both horizontal and vertical components of the image.[4]
History[edit]
This section needs expansion. You can help by adding to it. (October 2021) |
The QR code system was invented in 1994 by Masahiro Hara from the Japanese company Denso Wave.[5][6][7] The initial design was influenced by the black and white pieces on a Go board.[8] Its purpose was to keep track of automotive parts manufactured by Denso, to replace several bar codes on each box, each of which had to be scanned separately.[9]
Adoption[edit]
QR codes can be displayed on buildings, as this one being painted in Cape Town
QR codes are now used in a much broader context, including both commercial tracking applications and convenience-oriented applications aimed at mobile-phone users (termed mobile tagging). QR codes may be used to display text to the user, to open a webpage on the user’s device, to add a vCard contact to the user’s device, to open a Uniform Resource Identifier (URI), to connect to a wireless network, or to compose an email or text message. There are a great many QR code generators available as software or as online tools that are either free, or require a paid subscription.[10] The QR code has become one of the most-used types of two-dimensional code.[11]
During the month of June 2011, 14 million American mobile users scanned a QR code or a barcode. Some 58% of those users scanned a QR or barcode from their homes, while 39% scanned from retail stores; 53% of the 14 million users were men between the ages of 18 and 34.[12]
In September 2020, a survey found that 18.8 percent of consumers in the United States and United Kingdom strongly agreed that they had noticed an increase of QR code use since the then-active COVID-19 related restrictions had begun several months prior.[13]
Standards[edit]
Structure of a QR code (version 7), highlighting functional elements
There are several standards that cover the encoding of data as QR codes:[14]
- October 1997 – AIM (Association for Automatic Identification and Mobility) International[15]
- January 1999 – JIS X 0510
- June 2000 – ISO/IEC 18004:2000 Information technology – Automatic identification and data capture techniques – Bar code symbology – QR code (now withdrawn)
Defines QR code models 1 and 2 symbols. - 1 September 2006 – ISO/IEC 18004:2006 Information technology – Automatic identification and data capture techniques – QR code 2005 bar code symbology specification (now withdrawn)[16]
Defines QR code 2005 symbols, an extension of QR code model 2. Does not specify how to read QR code model 1 symbols, or require this for compliance. - 1 February 2015 – ISO/IEC 18004:2015 Information – Automatic identification and data capture techniques – QR Code barcode symbology specification
Renames the QR Code 2005 symbol to QR Code and adds clarification to some procedures and minor corrections. - May 2022 – ISO/IEC 23941:2022 Information technology – Automatic identification and data capture techniques – Rectangular Micro QR Code (rMQR) bar code symbology specification[17]
Defines the requirements for Micro QR Code.
At the application layer, there is some variation between most of the implementations. Japan’s NTT DoCoMo has established de facto standards for the encoding of URLs, contact information, and several other data types.[18] The open-source «ZXing» project maintains a list of QR code data types.[19]
Uses[edit]
A QR code used on a large billboard in Japan, linking to the sagasou.mobi website
QR codes have become common in consumer advertising. Typically, a smartphone is used as a QR code scanner, displaying the code and converting it to some useful form (such as a standard URL for a website, thereby obviating the need for a user to type it into a web browser).
QR code has become a focus of advertising strategy, since it provides a way to access a brand’s website more quickly than by manually entering a URL.[20][21] Beyond mere convenience to the consumer, the importance of this capability is that it increases the conversion rate: the chance that contact with the advertisement will convert to a sale. It coaxes interested prospects further down the conversion funnel with little delay or effort, bringing the viewer to the advertiser’s website immediately, whereas a longer and more targeted sales pitch may lose the viewer’s interest.
Although initially used to track parts in vehicle manufacturing, QR codes are used over a much wider range of applications. These include commercial tracking, entertainment and transport ticketing, product and loyalty marketing and in-store product labeling. Examples of marketing include where a company’s discounted and percent discount can be captured using a QR code decoder which is a mobile app, or storing a company’s information such as address and related information alongside its alpha-numeric text data as can be seen in Yellow Pages directories.
They can also be used in storing personal information for use by organizations. An example of this is Philippines National Bureau of Investigation (NBI) where NBI clearances now come with a QR code. Many of these applications target mobile-phone users (via mobile tagging). Users may receive text, add a vCard contact to their device, open a URL, or compose an e-mail or text message after scanning QR codes. They can generate and print their own QR codes for others to scan and use by visiting one of several pay or free QR code-generating sites or apps. Google had an API, now deprecated, to generate QR codes,[22] and apps for scanning QR codes can be found on nearly all smartphone devices.[23]
QR codes have been used and printed on train tickets in China since 2010.[24]
QR codes storing addresses and URLs may appear in magazines, on signs, on buses, on business cards, or on almost any object about which users might want information. Users with a camera phone equipped with the correct reader application can scan the image of the QR code to display text, contact information, connect to a wireless network, or open a web page in the phone’s browser. This act of linking from physical world objects is termed hardlinking or object hyperlinking. QR codes also may be linked to a location to track where a code has been scanned. Either the application that scans the QR code retrieves the geo information by using GPS and cell tower triangulation (aGPS) or the URL encoded in the QR code itself is associated with a location. In 2008, a Japanese stonemason announced plans to engrave QR codes on gravestones, allowing visitors to view information about the deceased, and family members to keep track of visits.[25] Psychologist Richard Wiseman was one of the first authors to include QR codes in a book, in Paranormality: Why We See What Isn’t There (2011).[26][failed verification]
QR codes have been incorporated into currency. In June 2011, The Royal Dutch Mint (Koninklijke Nederlandse Munt) issued the world’s first official coin with a QR code to celebrate the centenary of its current building and premises. The coin can be scanned by a smartphone and originally linked to a special website with contents about the historical event and design of the coin.[27] In 2014, the Central Bank of Nigeria issued a 100-naira banknote to commemorate its centennial, the first banknote to incorporate a QR code in its design. When scanned with an internet-enabled mobile device, the code goes to a website which tells the centenary story of Nigeria.[28] In 2015, the Central Bank of the Russian Federation issued a 100-rubles note to commemorate the annexation of Crimea by the Russian Federation. It contains a QR code into its design, and when scanned with an internet-enabled mobile device, the code goes to a website that details the historical and technical background of the commemorative note. In 2017, the Bank of Ghana issued a 5-cedis banknote to commemorate 60 years of Central Banking in Ghana, and contains a QR code in its design, which when scanned with an internet-enabled mobile device, that code goes to the official Bank of Ghana website.
Credit card functionality is under development. In September 2016, the Reserve Bank of India (RBI) launched the eponymously named Bharat QR, a common QR code jointly developed by all the four major card payment companies – National Payments Corporation of India that runs RuPay cards along with MasterCard, Visa and American Express. It will also have the capability of accepting payments on the unified payments interface (UPI) platform.[29][30]
Augmented reality[edit]
QR codes are used in some augmented reality systems to determine the positions of objects in 3-dimensional space.[9]
Displaying multimedia contents[edit]
QR codes also used to direct users to specific multimedia content (such as videos, audios, images, documents and any type of content accessible from the web). This type of QR code is called «Multimedia QR code».
Mobile operating systems[edit]
QR codes can be used on various mobile device operating systems. iPhones running on iOS 11 and higher[31] and some Android devices can natively scan QR codes without downloading an external app.[32] The camera app is able to scan and display the kind of QR code (only on iPhone) along with the link (both on Android and iPhone). These devices support URL redirection, which allows QR codes to send metadata to existing applications on the device. Many paid or free apps are available with the ability to scan the codes and hard-link to an external URL.
Virtual stores[edit]
QR codes have been used to establish «virtual stores», where a gallery of product information and QR codes is presented to the customer, e.g. on a train station wall. The customers scan the QR codes, and the products are delivered to their homes. This use started in South Korea,[33] and Argentina,[34] but is currently expanding globally.[35] Walmart, Procter & Gamble and Woolworths have already adopted the Virtual Store concept.[36]
QR code payment[edit]
QR codes can be used to store bank account information or credit card information, or they can be specifically designed to work with particular payment provider applications. There are several trial applications of QR code payments across the world.[37][38] In developing countries like China,[39][40] India[41] and Bangladesh QR code payment is a very popular and convenient method of making payments. Since Alipay designed a QR code payment method in 2011,[42] mobile payment has been quickly adopted in China. As of 2018, around 83% of all payments were made via mobile payment.[43]
In November 2012, QR code payments were deployed on a larger scale in the Czech Republic when an open format for payment information exchange – a Short Payment Descriptor – was introduced and endorsed by the Czech Banking Association as the official local solution for QR payments.[44][45] In 2013, the European Payment Council provided guidelines for the EPC QR code enabling SCT initiation within the Eurozone.
In 2017, Singapore created a taskforce including their Government Agencies such as the Monetary Authority of Singapore and Infocomm Media Development Authority to spearhead a system for e-payments using standardized QR code specifications. These specific dimensions are specialized for Singapore’s market.[46]
The e-payment system, Singapore Quick Response Code (SGQR), essentially merges various QR codes into one label which can be used by both parties in the payment system. This allows for various banking apps to facilitate payments between multiple customers and a merchant that displays the single QR code.[47]
A single SDQR label contains e-payments and combines multiple payment options. Once consumers spot the SGQR label, they will be able to scan it and see which payment options the merchant accepts. The SGQR scheme is co-owned by MAS and IMDA. [48]
Website login[edit]
QR codes can be used to log into websites: a QR code is shown on the login page on a computer screen, and when a registered user scans it with a verified smartphone, they will automatically be logged in. Authentication is performed by the smartphone which contacts the server. Google tested such a login method in January 2012.[49]
Mobile ticket[edit]
There is a system whereby a QR code can be displayed on a device such as a smartphone and used as an admission ticket.[50][51][52] Its use is common for J1 League and Nippon Professional Baseball tickets in Japan.[53][54] In some cases, rights can be transferred via the Internet.
Restaurant ordering[edit]
Restaurants can present a QR code near the front door or at the table allowing guests to view an online menu, or even redirect them to an online ordering website or app, allowing them to order and/or possibly pay for their meal without having to use a cashier or waiter. QR codes can also link to daily or weekly specials that are not printed on the standardized menus,[55] and enable the establishment to update the entire menu without needing to print copies. At table-serve restaurants, QR codes enable guests to order and pay for their meals without a waiter involved – the QR code contains the table number so servers know where to bring the food.[56][57] This application has grown especially since the need for social distancing during the 2020 COVID-19 pandemic prompted reduced contact between service staff and customers.[56]
Joining a Wi‑Fi network[edit]
A QR code to automatically join a Wi‑Fi network
By specifying the SSID, encryption type, password/passphrase, and if the SSID is hidden or not, mobile device users can quickly scan and join networks without having to manually enter the data.[58] A MeCard-like format is supported by Android and iOS 11+.[59]
- Common format:
WIFI:S:<SSID>;T:<WEP|WPA|blank>;P:<PASSWORD>;H:<true|false|blank>;;
- Sample:
WIFI:S:MySSID;T:WPA;P:MyPassW0rd;;
Funerary use[edit]
A QR code which links to an obituary and can be placed on a headstone
A QR code can link to an obituary and can be placed on a headstone. In 2008, Ishinokoe in Yamanashi Prefecture, Japan began to sell tombstones with QR codes produced by IT DeSign, where the code leads to a virtual grave site of the deceased.[60][61][62] Other companies, such as Wisconsin-based Interactive Headstones, have also begun implementing QR codes into tombstones.[63] In 2014, the Jewish Cemetery of La Paz in Uruguay began implementing QR codes for tombstones.[64]
Electronic authentication[edit]
QR codes are also used to generate time-based one-time passwords (TOTP) for electronic authentication.
Loyalty programs[edit]
QR codes have been used by various retail outlets that have loyalty programs. Sometimes these programs are accessed with an app that is loaded onto a phone and includes a process triggered by a QR code scan. The QR codes for loyalty programs tend to be found printed on the receipt for a purchase or on the products themselves. Users in these schemes collect award points by scanning a code.
Counterfeit detection[edit]
Serialised QR codes have been used by brands[65] and governments[66] to let consumers, retailers and distributors verify the authenticity of the products and help with detecting counterfeit products, as part of a brand protection program.[67] However, the security level of a regular QR Code is limited since QR Codes printed on original products are easily reproduced on fake products, even though the analysis of data generated as a result of QR Code scanning can be used to detect counterfeiting and illicit activity.[68] A higher security level can be attained by embedding a digital watermark or copy detection pattern into the image of the QR Code. This makes the QR Code more secure against counterfeiting attempts, and fake products which contain a counterfeit QR Code can be detected by scanning the secure QR Code with a specific app (even though the QR Code message itself is valid).[69]
The treaty regulating apostilles (documents bearing a seal of authenticity), has been updated to allow for the issuance of digital apostilles by countries; a digital apostille is a PDF document with a cryptographic signature containing a QR code for a canonical URL of the original document, allowing users to verify the apostille from a printed version of the document.
Product tracing[edit]
Different studies have been made to assess the effectiveness of QR codes as a means of conveying labelling information and their use as part of a food traceability system. In a field experiment, it was found that when provided free access to a smartphone with QR Code scanning app, 52.6% of participants would use it to access labelling information.[70] A study made in South Korea showed that consumers appreciate QR code used in food traceability system, as they provide detailed information about food, as well as information that helps them in their purchasing decision.[71] If QR Codes are serialised, consumers can access a web page showing the supply chain for each ingredient, as well as information specific to each related batch, including meat processors and manufacturers, which helps address the concerns they have about the origin of their food.[72]
COVID-19 pandemic[edit]
After the COVID-19 pandemic began spreading, QR codes began to be used as a «touchless» system to display information, show menus, or provide updated consumer information, especially in the hospitality industry. Restaurants replaced paper or laminated plastic menus with QR code decals on the table, which opened an online version of the menu. This prevented the need to dispose of single-use paper menus, or institute cleaning and sanitizing procedures for permanent menus after each use.[73] Local television stations have also begun to utilize codes on local newscasts to allow viewers quicker access to stories or information involving the pandemic, including testing and immunization scheduling websites, or for links within stories mentioned in the newscasts overall.
In several Australian states, patrons are required to scan QR codes at shops, clubs, supermarkets and other service and retail establishments on entry to assist contact tracing. Singapore, Taiwan, the United Kingdom and New Zealand use similar systems.[74]
QR codes are also present on COVID-19 vaccination certificates in places such as Canada, and the EU (EU Digital COVID certificate) where they can be scanned to verify the information on the certificate.[75]
Design[edit]
Unlike the older, one-dimensional barcodes that were designed to be mechanically scanned by a narrow beam of light, a QR code is detected by a 2-dimensional digital image sensor and then digitally analyzed by a programmed processor. The processor locates the three distinctive squares at the corners of the QR code image, using a smaller square (or multiple squares) near the fourth corner to normalize the image for size, orientation, and angle of viewing. The small dots throughout the QR code are then converted to binary numbers and validated with an error-correcting algorithm.
Storage[edit]
The amount of data that can be stored in the QR code symbol depends on the data type (mode, or input character set), version (1, …, 40, indicating the overall dimensions of the symbol, i.e. 4 × version number + 17 dots on each side), and error correction level. The maximum storage capacities occur for version 40 and error correction level L (low), denoted by 40-L:[11][76]
Input mode | Max. characters | Bits/char. | Possible characters, default encoding |
---|---|---|---|
Numeric only | 7,089 | 31⁄3 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
Alphanumeric | 4,296 | 51⁄2 | 0–9, A–Z (upper-case only), space, $, %, *, +, -, ., /, : |
Binary/byte | 2,953 | 8 | ISO/IEC 8859-1 |
Kanji/kana | 1,817 | 13 | Shift JIS X 0208 |
Here are some sample QR code symbols:
-
Version 1 (21×21). Content: «Ver1»
-
Version 2 (25×25). Content: «Version 2»
-
Version 3 (29×29). Content: «Version 3 QR Code»
-
Version 4 (33×33). Content: «Version 4 QR Code, up to 50 char»
-
Version 10 (57×57). Content: «VERSION 10 QR CODE, UP TO 174 CHAR AT H LEVEL, WITH 57X57 MODULES AND PLENTY OF ERROR CORRECTION TO GO AROUND. NOTE THAT THERE ARE ADDITIONAL TRACKING BOXES» (actually encoded in all capital letters). (Tracking boxes are more commonly called alignment patterns.)
-
Version 25 (117×117) Content: 1,269 characters of ASCII text describing QR Codes
-
Version 40 (177×177) Content: «Version 40 QR Code can contain up to 1852 chars…» (and followed by four paragraphs of ASCII text describing QR Codes).
Error correction[edit]
Example of a QR code with artistic embellishment that will still scan correctly thanks to error correction
QR codes use Reed–Solomon error correction over the finite field , the elements of which are encoded as bytes of 8 bits; the byte with a standard numerical value encodes the field element where is taken to be a primitive element satisfying . The Reed–Solomon code uses one of 37 different polynomials over , with degrees ranging from 7 to 68, depending on how many error correction bytes the code adds. It is implied by the form of Reed–Solomon used (systematic BCH view) that these polynomials are all on the form , however the rules for selecting the degree are specific to the QR standard.
When discussing the Reed–Solomon code phase there is some risk for confusion, in that the QR ISO/IEC standard uses the term codeword for the elements of , which with respect to the Reed–Solomon code are symbols, whereas it uses the term block for what with respect to the Reed–Solomon code are the codewords. The number of data versus error correction bytes within each block depends on (i) the version (side length) of the QR symbol and (ii) the error correction level, of which there are four. The higher the error correction level, the less storage capacity. The following table lists the approximate error correction capability at each of the four levels:
Level L (Low) | 7% of data bytes can be restored. |
Level M (Medium) | 15% of data bytes can be restored. |
Level Q (Quartile)[77] | 25% of data bytes can be restored. |
Level H (High) | 30% of data bytes can be restored. |
In larger QR symbols, the message is broken up into several Reed–Solomon code blocks. The block size is chosen so that no attempt is made at correcting more than 15 errors per block; this limits the complexity of the decoding algorithm. The code blocks are then interleaved together, making it less likely that localized damage to a QR symbol will overwhelm the capacity of any single block.
Due to error correction, it is possible to create artistic QR codes with embellishments to make them more readable or attractive to the human eye, and to incorporate colors, logos, and other features into the QR code block; the embellishments are treated as errors, but the codes still scan correctly.[78][79]
It is also possible to design artistic QR codes without reducing the error correction capacity by manipulating the underlying mathematical constructs.[80][81] Image processing algorithms are also used to reduce errors in QR-code.[82]
Encoding[edit]
The format information records two things: the error correction level and the mask pattern used for the symbol. Masking is used to break up patterns in the data area that might confuse a scanner, such as large blank areas or misleading features that look like the locator marks. The mask patterns are defined on a grid that is repeated as necessary to cover the whole symbol. Modules corresponding to the dark areas of the mask are inverted. The format information is protected from errors with a BCH code, and two complete copies are included in each QR symbol.[4]
The message dataset is placed from right to left in a zigzag pattern, as shown below. In larger symbols, this is complicated by the presence of the alignment patterns and the use of multiple interleaved error-correction blocks.
-
Meaning of format information. In the above figure, the format information is protected by a (15,5) BCH code, which can correct up to 3 bit errors. The total length of the code is 15 bits, of which 5 are data bits (2 EC level + 3 mask pattern) and 10 are extra bits for error correction. The format mask for these 15 bits is: [101010000010010]. Note that we map the masked values directly to its meaning here, in contrast to image 4 «Levels & Masks» where the mask pattern numbers are the result of putting the 3rd to 5th mask bit, [101], over the 3rd to 5th format info bit of the QR code.
-
Message placement within a QR symbol. The message is encoded using a (255,249) Reed Solomon code (shortened to (24,18) code by using «padding») which can correct up to 3 byte errors.
-
Larger symbol illustrating interleaved blocks. The message has 26 data bytes and is encoded using two Reed-Solomon code blocks. Each block is a (255,233) Reed Solomon code (shortened to (35,13) code), which can correct up to 11 byte errors in a single burst, containing 13 data bytes and 22 «parity» bytes appended to the data bytes. The two 35-byte Reed-Solomon code blocks are interleaved so it can correct up to 22 byte errors in a single burst (resulting in a total of 70 code bytes). The symbol achieves level H error correction.
The general structure of a QR encoding is as a sequence of 4 bit indicators with payload length dependent on the indicator mode (e.g. byte encoding payload length is dependent on the first byte).[83]
Mode indicator | Description | Typical structure ‘[ type : sizes in bits ]’ |
---|---|---|
0001 | Numeric | [0001 : 4] [ Character Count Indicator : variable ] [ Data Bit Stream : 31⁄3 × charcount ] |
0010 | Alphanumeric | [0010 : 4] [ Character Count Indicator : variable ] [ Data Bit Stream : 51⁄2 × charcount ] |
0100 | Byte encoding | [0100 : 4] [ Character Count Indicator : variable ] [ Data Bit Stream : 8 × charcount ] |
1000 | Kanji encoding | [1000 : 4] [ Character Count Indicator : variable ] [ Data Bit Stream : 13 × charcount ] |
0011 | Structured append | [0011 : 4] [ Symbol Position : 4 ] [ Total Symbols: 4 ] [ Parity : 8 ] |
0111 | ECI | [0111 : 4] [ ECI Assignment number : variable ] |
0101 | FNC1 in first position | [0101 : 4] [ Numeric/Alphanumeric/Byte/Kanji payload : variable ] |
1001 | FNC1 in second position | [1001 : 4] [ Application Indicator : 8 ] [ Numeric/Alphanumeric/Byte/Kanji payload : variable ] |
0000 | End of message | [0000 : 4] |
- Note:
- Character Count Indicator depends on how many modules are in a QR code (Symbol Version).
- ECI Assignment number Size:
- 8 × 1 bits if ECI Assignment Bitstream starts with ‘0’
- 8 × 2 bits if ECI Assignment Bitstream starts with ’10’
- 8 × 3 bits if ECI Assignment Bitstream starts with ‘110’
Four-bit indicators are used to select the encoding mode and convey other information.
Indicator | Meaning |
---|---|
0001 | Numeric encoding (10 bits per 3 digits) |
0010 | Alphanumeric encoding (11 bits per 2 characters) |
0100 | Byte encoding (8 bits per character) |
1000 | Kanji encoding (13 bits per character) |
0011 | Structured append (used to split a message across multiple QR symbols) |
0111 | Extended Channel Interpretation (select alternate character set or encoding) |
0101 | FNC1 in first position (see Code 128 for more information) |
1001 | FNC1 in second position |
0000 | End of message (Terminator) |
Encoding modes can be mixed as needed within a QR symbol. (e.g., a url with a long string of alphanumeric characters )
[ Mode Indicator][ Mode bitstream ] --> [ Mode Indicator][ Mode bitstream ] --> etc... --> [ 0000 End of message (Terminator) ]
After every indicator that selects an encoding mode is a length field that tells how many characters are encoded in that mode. The number of bits in the length field depends on the encoding and the symbol version.
Encoding | Ver. 1–9 | 10–26 | 27–40 |
---|---|---|---|
Numeric | 10 | 12 | 14 |
Alphanumeric | 9 | 11 | 13 |
Byte | 8 | 16 | 16 |
Kanji | 8 | 10 | 12 |
Alphanumeric encoding mode stores a message more compactly than the byte mode can, but cannot store lower-case letters and has only a limited selection of punctuation marks, which are sufficient for rudimentary web addresses. Two characters are coded in an 11-bit value by this formula:
- V = 45 × C1 + C2
This has the exception that the last character in an alphanumeric string with an odd length is read as a 6-bit value instead.
Code | Character | Code | Character | Code | Character | Code | Character | Code | Character |
---|---|---|---|---|---|---|---|---|---|
00 | 0 | 09 | 9 | 18 | I | 27 | R | 36 | Space |
01 | 1 | 10 | A | 19 | J | 28 | S | 37 | $ |
02 | 2 | 11 | B | 20 | K | 29 | T | 38 | % |
03 | 3 | 12 | C | 21 | L | 30 | U | 39 | * |
04 | 4 | 13 | D | 22 | M | 31 | V | 40 | + |
05 | 5 | 14 | E | 23 | N | 32 | W | 41 | – |
06 | 6 | 15 | F | 24 | O | 33 | X | 42 | . |
07 | 7 | 16 | G | 25 | P | 34 | Y | 43 | / |
08 | 8 | 17 | H | 26 | Q | 35 | Z | 44 | : |
Decoding example[edit]
The following images offer more information about the QR code.
-
1 – Introduction
-
2 – Structure
-
3 – Layout & Encoding
-
4 – Levels & Masks
-
5 – Protocols
Variants[edit]
Model 1[edit]
Model 1 QR code is an older version of the specification. It is visually similar to the widely seen model 2 codes, but lacks alignment patterns. Differences are in the bottom right corner, and in the midsections of the bottom and right edges are additional functional regions.
-
Model 1 QR code example
-
Model 1 QR code functional regions
Micro QR code [edit]
Micro QR code is a smaller version of the QR code standard for applications where symbol size is limited. There are four different versions (sizes) of Micro QR codes: the smallest is 11×11 modules; the largest can hold 35 numeric characters.[84]
-
Micro QR code example
-
Micro QR code functional regions
IQR code[edit]
IQR Code is an alternative to existing QR codes developed by Denso Wave. IQR codes can be created in square or rectangular formations; this is intended for situations where a rectangular barcode would otherwise be more appropriate, such as cylindrical objects. IQR codes can fit the same amount of information in 30% less space. There are 61 versions of square IQR codes, and 15 versions of rectangular codes. For squares, the minimum size is 9 × 9 modules; rectangles have a minimum of 19 × 5 modules. IQR codes add error correction level S, which allows for 50% error correction.[85] IQR Codes have not yet been given an ISO/IEC specification, and only proprietary Denso Wave products can create or read IQR codes.[86]
Secure QR code[edit]
Secure Quick Response (SQR) code is a QR code that contains a «private data» segment after the terminator instead of the specified filler bytes «ec 11».[87] This private data segment must be deciphered with an encryption key. This can be used to store private information and to manage company’s internal information.[88]
SQR codes have been developed by the FORUS Foundation to enable secure transactions, and published under a Creative Commons Licence.
The SQR solution guarantees the integrity of the source data as well as the validity of the originating party.
The payment instruction string is made up of the electronic instruction data from the scanned QR code appended with a SHA-2 cryptographic hash.
The message digest can then be encrypted using the private key of the sender, which then creates a digital signature of the message.
This signature validates the integrity of the data and the trustworthiness of the sender. This provides non-repudiation, confirming the identity of the sender, and that it has not been tampered with during transmission.
By embedding the URL and all the variables required to perform shopping cart type e-commerce, bill payment and peer to peer payments, coupled with a digital certificate eliminates the possibility of spoofing, tampering, and man in the middle attacks.
[89]
Frame QR[edit]
Frame QR is a QR code with a «canvas area» that can be flexibly used. In the center of this code is the canvas area, where graphics, letters, and more can be flexibly arranged, making it possible to lay out the code without losing the design of illustrations, photos, etc.[90]
HCC2D[edit]
Samples of the High Capacity Colored 2-Dimensional (HCC2D) code: (a) 4-color HCC2D code and (b) 8-color HCC2D code.
Researchers have proposed a new High Capacity Colored 2-Dimensional (HCC2D) Code, which builds upon a QR code basis for preserving the QR robustness to distortions and uses colors for increasing data density (as of 2014 it is still in prototyping phase). The HCC2D code specification is described in details in Querini et al. (2014),[91] while techniques for color classification of HCC2D code cells are described in detail in Querini and Italiano (2014),[92] which is an extended version of Querini and Italiano (2013).[93]
Introducing colors into QR codes requires addressing additional issues. In particular, during QR code reading only the brightness information is taken into account, while HCC2D codes have to cope with chromatic distortions during the decoding phase. In order to ensure adaptation to chromatic distortions which arise in each scanned code, HCC2D codes make use of an additional field: the Color Palette Pattern. This is because color cells of a Color Palette Pattern are supposed to be distorted in the same way as color cells of the Encoding Region. Replicated color palettes are used for training machine learning classifiers.
JAB code[edit]
Wikipedia greetings with link encoded using eight-colour JAB code
JAB code (Just Another Barcode) is a color 2D matrix symbology made of color squares arranged in either square or rectangle grids. It was developed by Fraunhofer Institute SIT (Secure Information Technology).[94]
The code contains one primary symbol and optionally multiple secondary symbols. The primary symbol contains four finder patterns located at the corners of the symbol.[95]
The code uses either 4 or 8 colours.[96] The 4 basic colours (cyan, magenta, yellow, black) are the 4 primary colours of the subtractive CMYK color model which is the most widely used system in industry for colour printing on a white base such as paper. The other 4 colours (blue, red, green, white) are secondary colours of the CMYK model and originate as an equal mixture of a pair of basic colours.
The barcode is not subject to licensing and was submitted to ISO/IEC standardization as ISO/IEC 23634 expected to be approved at the beginning of 2021[97] and finalized in 2022.[96] The software is open-source and published under the LGPL v2.1 license.[98] The specification is freely available.[95]
Because the colour adds a third dimension to the two-dimensional matrix, a JAB code can contain more information in the same area compared to two-colour (black and white) codes – theoretically twice as much data for a 4 colour code and three times more for 8 colours assuming the same encoding algorithm. This can allow storage of an entire message in the barcode, rather than just storing partial data with a reference to a full message somewhere else (such as a link to a website), thus eliminating the need for additional always-available infrastructure beyond the printed barcode itself. It may be used to digitally sign encrypted digital version of printed legal documents, contracts and certificates (diplomas, training), medical prescriptions or provide product authenticity assurance to increase protection against counterfeits.[96]
License[edit]
The use of QR code technology is freely licensed as long as users follow the standards for QR Code documented with JIS or ISO/IEC. Non-standardized codes may require special licensing.[99]
Denso Wave owns a number of patents on QR code technology, but has chosen to exercise them in a limited fashion.[99] In order to promote widespread usage of the technology Denso Wave chose to waive its rights to a key patent in its possession for standardized codes only.[14] In the US, the granted QR code patent is US 5726435, and in Japan JP 2938338, both of which have expired. The European Patent Office granted patent EP 0672994 to Denso Wave, which was then validated into French, UK, and German patents, all of which expired in March 2015.[100]
The text QR Code itself is a registered trademark and wordmark of Denso Wave Incorporated.[101] In UK, the trademark is registered as E921775, the term QR Code, with a filing date of 3 September 1998.[102] The UK version of the trademark is based on the Kabushiki Kaisha Denso (DENSO CORPORATION) trademark, filed as Trademark 000921775, the term QR Code, on 3 September 1998 and registered on 16 December 1999 with the European Union OHIM (Office for Harmonization in the Internal Market).[103]
The U.S. Trademark for the term QR Code is Trademark 2435991 and was filed on 29 September 1998 with an amended registration date of 13 March 2001, assigned to Denso Corporation.[104]
Risks[edit]
The only context in which common QR codes can carry executable data is the URL data type. These URLs may host JavaScript code, which can be used to exploit vulnerabilities in applications on the host system, such as the reader, the web browser or the image viewer, since a reader will typically send the data to the application associated with the data type used by the QR code.
In the case of no software exploits, malicious QR codes combined with a permissive reader can still put a computer’s contents and user’s privacy at risk. This practice is known as «attagging», a portmanteau of «attack tagging».[105] They are easily created and can be affixed over legitimate QR codes.[106] On a smartphone, the reader’s permissions may allow use of the camera, full Internet access, read/write contact data, GPS, read browser history, read/write local storage, and global system changes.[107][108][109]
Risks include linking to dangerous web sites with browser exploits, enabling the microphone/camera/GPS, and then streaming those feeds to a remote server, analysis of sensitive data (passwords, files, contacts, transactions),[110] and sending email/SMS/IM messages or packets for DDoS as part of a botnet, corrupting privacy settings, stealing identity,[111] and even containing malicious logic themselves such as JavaScript[112] or a virus.[113][114] These actions could occur in the background while the user is only seeing the reader opening a seemingly harmless web page.[115] In Russia, a malicious QR code caused phones that scanned it to send premium texts at a fee of $6 each.[105] QR codes have also been linked to scams in which stickers are placed on parking meters, posing as quick payment options, as seen in Austin, San Antonio and Boston, among other cities across the United States and Australia.[116][117][118]
See also[edit]
- Aztec Code
- Data Matrix
- PDF417
- QRpedia
- SnapTag
- SPARQCode
- Touchatag
References[edit]
- ^ Hung, Shih-Hsuan; Yao, Chih-Yuan; Fang, Yu-Jen; Tan, Ping; Lee, RuenRone; Sheffer, Alla; Chu, Hung-Kuo (1 September 2020). «Micrography QR Codes». IEEE Transactions on Visualization and Computer Graphics. 26 (9): 2834–2847. doi:10.1109/TVCG.2019.2896895. ISSN 1077-2626. PMID 30716038. S2CID 73433883.
- ^ Chen, Rongjun; Yu, Yongxing; Xu, Xiansheng; Wang, Leijun; Zhao, Huimin; Tan, Hong-Zhou (11 December 2019). «Adaptive Binarization of QR Code Images for Fast Automatic Sorting in Warehouse Systems». Sensors. 19 (24): 5466. Bibcode:2019Senso..19.5466C. doi:10.3390/s19245466. PMC 6960674. PMID 31835866.
- ^ «QR Code features». Denso-Wave. Archived from the original on 29 January 2013. Retrieved 3 October 2011.
- ^ a b c «QR Code Essentials». Denso ADC. 2011. Archived from the original on 12 May 2013. Retrieved 12 March 2013.
- ^ «QRコード開発|テクノロジー|デンソーウェーブ» [QR code development]. Denso Wave (in Japanese). Retrieved 26 October 2021.
- ^ «2D Barcodes». NHK World-Japan. 26 March 2020.
- ^ «From Japanese auto parts to ubiquity: A look at the history of QR codes». Mainichi Daily News. 9 November 2021. Retrieved 11 November 2021.
- ^ «The Little-Known Story of the Birth of the QR Code». 10 February 2020. Archived from the original on 4 March 2020.
- ^ a b Borko Furht (2011). Handbook of Augmented Reality. Springer. p. 341. ISBN 9781461400646. Archived from the original on 21 December 2016.
- ^ Joe Waters. «How to Use the Top QR Code Generators». Dummies.com. Archived from the original on 11 September 2017. Retrieved 5 June 2017.
- ^ a b «QR Code—About 2D Code». Denso-Wave. Archived from the original on 5 June 2016. Retrieved 27 May 2016.
- ^ «14m Americans scanned QR and bar codes with their mobiles in June 2011». 16 August 2011. Archived from the original on 5 April 2016. Retrieved 27 May 2016.
- ^ «U.S. and UK increase of QR code use 2020». 6 July 2021. Retrieved 13 August 2021.
- ^ a b «QR Code Standardization». QR Code.com. Denso-Wave. Archived from the original on 10 May 2016. Retrieved 23 May 2016.
- ^ «ISS QR Code|AIM Store: Historical Archive». Aimglobal.org. Archived from the original on 8 August 2016. Retrieved 26 May 2016.
- ^ «ISO/IEC 18004:2006 — Information technology – Automatic identification and data capture techniques – QR Code 2005 bar code symbology specification». www.iso.org. Archived from the original on 8 March 2017. Retrieved 7 March 2017.
- ^ «ISO/IEC 23941:2022 Information technology — Automatic identification and data capture techniques — Rectangular Micro QR Code (rMQR) bar code symbology specification». ISO. Retrieved 3 January 2023.
- ^ «Synchronization with Native Applications». NTT DoCoMo. Archived from the original on 6 August 2016. Retrieved 26 May 2016.
- ^ Sean Owen (17 January 2014). «Barcode contents». GitHub. Archived from the original on 15 February 2016. Retrieved 26 May 2016.
- ^ Rimma Kats (23 January 2012). «Starbucks promotes coffee blend via QR codes». Archived from the original on 3 June 2016. Retrieved 26 May 2016.
- ^ Jenny Lee (4 January 2012). «Tesco’s cool QR code advertising campaign». Archived from the original on 3 June 2016. Retrieved 26 May 2016.
- ^ «Getting Started with Infographics (deprecated)». google-developers.appspot.com. 26 May 2015. Archived from the original on 29 June 2016. Retrieved 27 May 2016.
- ^ «QR Code Readers for iPhone, Android, Blackberry and Windows Phone 7». 7 December 2010. Archived from the original on 25 August 2011.
- ^ «QR codes on China’s train tickets may leak personal information». Want China Times. Archived from the original on 12 December 2013. Retrieved 16 March 2013.
- ^ Novak, Asami (23 March 2008). «Japanese Gravestones Memorialize the Dead With QR Codes». Wired. Archived from the original on 15 February 2013. Retrieved 8 May 2013.
- ^ Skepticality (5 July 2011). «Paranormality». Skepticality.com. Archived from the original on 3 July 2015. Retrieved 27 June 2015.
- ^ «Herdenkingsmunt met QR code volop in het nieuws!» [Commemorative QR code in the news!]. Koninklijke Nederlandse Munt (in Dutch). 21 June 2011. Archived from the original on 29 June 2016. Retrieved 27 May 2016.
- ^ «New ₦100 Commemorative Centenary Celebration». Archived from the original on 8 September 2015. Retrieved 10 September 2015.
- ^ www.ETRetail.com. «With IndiaQR launch, retail payments to get digital edge — ET Retail». ETRetail.com. Archived from the original on 15 February 2017. Retrieved 15 February 2017.
- ^ «IndiaQR to debut on Feb 20». The Times of India. Archived from the original on 16 February 2017. Retrieved 15 February 2017.
- ^ Hein, Buster (21 September 2017). «How to scan QR codes with iOS 11’s Camera app». Cult of Mac. Archived from the original on 5 January 2019. Retrieved 28 May 2019.
- ^ Lacoma, Tyler (3 October 2018). «How to Scan a QR Code». Digital Trends. Archived from the original on 22 April 2019. Retrieved 28 May 2019.
- ^ «Tesco QR Code Virtual Store». 14 April 2012. Archived from the original on 25 May 2016. Retrieved 26 May 2016.
- ^ Sebastián Campanario (16 September 2011). «Marketing futurista: ya se puede comprar con la cámara del celular» [Futuristic marketing: it’s already possible to purchase with a cellphone’s camera] (in Spanish). Archived from the original on 23 September 2011.
- ^ «Marketers scatter phone-friendly codes across ads». 11 November 2010. Retrieved 26 May 2016.
- ^ «Top 10 QR Code Store examples». 14 April 2012. Archived from the original on 6 June 2016. Retrieved 26 May 2016.
- ^ «SCVNGR Unveils QR Code Payment System». Mashable. 12 October 2011. Archived from the original on 8 December 2012.
- ^ «MasterCard starts piloting QkR mobile payment app». 26 January 2012. Archived from the original on 8 January 2014.
- ^ Jacobs, Harrison. «One photo shows that China is already in a cashless future». Business Insider. Retrieved 14 October 2019.
- ^ Mozur, Paul (16 July 2017). «In Urban China, Cash Is Rapidly Becoming Obsolete». The New York Times. ISSN 0362-4331. Retrieved 14 October 2019.
- ^ «Paying With Your Mobile Wallet To Get Simpler With Interoperable QR Codes». Moneycontrol. Retrieved 22 December 2020.
- ^ «A Hangzhou Story: The Development of China’s Mobile Payment Revolution» (PDF).
- ^ «Payment methods in China: How China became a mobile-first nation». daxueconsulting.com. Retrieved 23 June 2020.
- ^ «Standard — Formát pro sdílení platebních údajů v rámci tuzemského platebního styku v CZK prostřednictvím QR kódů» [Standard No. 26: Format for exchanging payment information for domestic payments in CZK using QR codes] (in Czech). Czech Banking Association. November 2012. Archived from the original on 3 June 2016. Retrieved 27 May 2016.
- ^ «Formát pro sdílení platebních údajů v CZK — QR kódy» [Format for exchanging payment information in CZK — QR codes] (in Czech). the Czech Banking Association. August 2015. Retrieved 2020-02-17.
- ^ IMDA (9 November 2022). «Annex A – Fact sheet on Singapore Quick Response Code (SGQR)» (PDF).
- ^
- ^ Monetary Authority of Singapore (9 November 2022). «Singapore Quick Response Code (SGQR)».
- ^ «Google testing login authentication via QR codes». ZDNet. Archived from the original on 15 June 2013.
- ^ «Mobile ticket generation|applications|QR Code Solutions|system solutions|DENSO WAVE». www.denso-wave.com.
- ^ «【公式】チケットの使い方 東京ディズニーリゾート» (in Japanese).
- ^ «ダイレクトイン(QRコード)の使い方|USJ WEBチケットストア». USJ (in Japanese).
- ^ «QRチケットレス入場について». サンフレッチェ広島 オフィシャルサイト (in Japanese).
- ^ «スマートスタジアム». 東北楽天ゴールデンイーグルス (in Japanese).
- ^ Management 2020 (https://modernrestaurantmanagement.com), Modern Restaurant (22 October 2020). «Restaurant QR Codes: 2020’s Comeback Story | Restaurant QR Codes: 2020’s Comeback Story | Modern Restaurant Management | The Business of Eating & Restaurant Management News». Modern Restaurant Management. Retrieved 1 November 2020.
- ^ a b Kastrenakes, Jacob (29 September 2020). «Square launches QR codes that let you order from your table at a restaurant». Verge.com. VOX Media LLC. Retrieved 24 November 2020.
- ^ Glass, Noah (7 October 2020). «How To Prepare For Table Service 2.0». Forbes. Retrieved 24 November 2020.
- ^ «Share your Wi-Fi SSID & Password using a QR Code». 19 July 2015.
- ^ «zxing documentation: barcode contents». GitHub. zxing.
- ^ «モノウォッチは生まれ変わります». Archived from the original on 13 November 2015. Retrieved 10 September 2015.
- ^ Michael Keferl (20 March 2008). «QR code graves give a «Memorial Window»«. Japan Trends. Archived from the original on 2 May 2012.
- ^ «供養の窓 — 石の声 株式会社» (in Japanese). Archived from the original on 13 November 2015. Retrieved 10 September 2015.
- ^ «Quiring Monuments adds smartphone codes to gravestones». Puget Sound Business Journal. 26 April 2011. Archived from the original on 23 June 2015. Retrieved 10 September 2015.
- ^ «Uruguayan Jewish Cemetery QR-ified» (in Spanish). EL PAIS. 24 March 2014. Archived from the original on 3 August 2016.
- ^ «Exclusive — CHINA: Pernod Ricard to use QR codes on all China packaging». www.just-drinks.com. 17 September 2013. Retrieved 24 April 2020.
- ^ «Digital tax stamps will curb fake goods — URA». Daily Monitor. Retrieved 24 April 2020.
- ^ «The power of smart packaging». www.bakingbusiness.com. Retrieved 3 May 2020.
- ^ Baldini, Gianmarco; Nai Fovino, Igor; Satta, Riccardo; Tsois, Aris; Checchi, Enrico (2015). Survey of techniques for the fight against counterfeit goods and Intellectual Property Rights (IPR) infringement. Luxembourg: European Commission. Joint Research Centre, Publications Office. ISBN 978-92-79-54543-6. OCLC 948769705.
- ^ Carron, Cecilia (6 May 2015). «Combatting counterfeiting using QR codes». phys.org. Retrieved 16 June 2020.
- ^ Li, Tongzhe; Messer, Kent D.; Li, Tongzhe; Messer, Kent D. (2019). Li, Tongzhe; Messer, Kent D. (eds.). «To Scan or Not to Scan: The Question of Consumer Behavior and QR Codes on Food Packages». Journal of Agricultural and Resource Economics. doi:10.22004/ag.econ.287977. ISSN 1068-5502.
- ^ Kim, Yeong Gug; Woo, Eunju (1 July 2016). «Consumer acceptance of a quick response (QR) code for the food traceability system: Application of an extended technology acceptance model (TAM)». Food Research International. 85: 266–272. doi:10.1016/j.foodres.2016.05.002. ISSN 0963-9969. PMID 29544844.
- ^ «Behind Every Smart Product is Smart Packaging | Future Food Asia». futurefoodasia.com. Retrieved 24 June 2020.
- ^ Leger, Benjamin (27 October 2020). «QR codes are replacing physical menus at restaurants». [225]. Retrieved 1 November 2020.
- ^ Purtill, James (19 November 2020). «The proliferation of QR code check-ins is a ‘dog’s breakfast’. Is there a better way?». www.abc.net.au. Australian Broadcasting Corporation. Retrieved 15 January 2021.
- ^ Hristova, Bobby (28 December 2021). «Ontarians need QR code to prove vaccination next week. Here’s what you need to know». Retrieved 30 December 2021.
- ^ «Information capacity and versions of QR Code». Denso-Wave. Archived from the original on 29 May 2016.
- ^ «2D Barcode: QR-Code». Archived from the original on 15 September 2012. — TEC-IT
- ^ Hajra Shannon (18 October 2010). «Form Meets Function: Functionality and Form of QR Codes». Retrieved 29 July 2010.
- ^ Hamilton Chan (18 April 2011). «HOW TO: Make Your QR Codes More Beautiful». Mashable. Archived from the original on 10 July 2012. Retrieved 29 July 2011.
- ^ Russ Cox (12 April 2012). «QArt Codes: How to make pictures with QR codes, part II». Archived from the original on 21 March 2015. Retrieved 8 May 2015.
- ^ Russ Cox (12 April 2012). «QArt Coder». Archived from the original on 24 April 2015. Retrieved 8 May 2015.
- ^ Gupta, Kishor Datta; Ahsan, Md Manjurul; Andrei, Stefan (January 2018). «Extending the Storage Capacity And Noise Reduction of a Faster QR-Code». Brain Broad Research in Artificial Intelligence and Neuroscience. 9 (1): 59–71.
- ^ ISO/IEC 18004:2006(E) § 6.4 Data encoding; Table 3 – Number of bits in character count indicator for QR Code 2005
- ^ Information technology – Automatic identification and data capture techniques – QR Code 2005 bar code symbology specification, ISO/IEC 18004:2006 cor. 2009, pages 3, 6.
- ^ «QR Code Overview & Progress of QR Code Applications» (PDF). Archived (PDF) from the original on 20 May 2013. Retrieved 26 June 2014.
- ^ «iQR Code — QRcode.com — DENSO WAVE». Archived from the original on 7 September 2015. Retrieved 10 September 2015.
- ^ «Embedding Secret Data in QR Code». Retrieved 29 October 2018.
- ^ «SQRC». qrcode.com. Retrieved 26 December 2017.
- ^ «FORUS». www.forus.co.za. Retrieved 27 December 2020.
- ^ «Frame QR». qrcode.com. Retrieved 26 December 2017.
- ^ «2D Color Barcodes for Mobile Phones» (PDF). Archived from the original (PDF) on 4 March 2016.
- ^ «Reliability and data density in high capacity color barcodes» (PDF). Archived from the original (PDF) on 24 July 2015.
- ^ «Color classifiers for 2D color barcodes» (PDF). Fedcsis.org. 2013. Archived (PDF) from the original on 24 July 2015.
- ^ «JAB code website». jabcode.org. 2019.
- ^ a b «JAB code technical specification» (PDF). www.bsi.bund.de. 2019.
- ^ a b c Küch, Oliver (26 June 2020). «Color barcode becomes ISO standard» (Press release). Darmstadt: Fraunhofer Institute for Secure Information Technology. Retrieved 17 February 2021.
- ^ «ISO/IEC DIS 23634 Information technology — Automatic identification and data capture techniques — JAB Code polychrome bar code symbology specification». ISO/IEC. Retrieved 17 February 2021.
- ^ «jabcode». GitHub. 2019.
- ^ a b «About the patent». Denso-Wave. Archived from the original on 25 June 2016. Retrieved 26 June 2016.
- ^ «DPA».«INPI». Archived from the original on 13 August 2016.«UK IPO». 9 March 2013.
- ^ «QR Code.com». Denso-Wave. 6 November 2003. Archived from the original on 15 September 2012. Retrieved 23 April 2009.
- ^ «UK QR Code Trademark». Archived from the original on 15 September 2012.
- ^ «EU QR Code Trademark». Archived from the original on 15 September 2012.
- ^ «US QR Code Trademark». Archived from the original on 15 September 2012.
- ^ a b «Jargon Watch», Wired, vol. 20, no. 1, p. 22, January 2012.
- ^ «Malicious Images: What’s a QR Code». SANS Technology Institute. 3 August 2011. Archived from the original on 13 July 2012. Retrieved 31 August 2011.
- ^ «Barcode Scanner». 1 June 2011. Archived from the original on 15 September 2012. Retrieved 31 August 2011.
- ^ «QR Droid». 19 August 2011. Archived from the original on 15 September 2012. Retrieved 31 August 2011.
- ^ «ScanLife Barcode Reader». 24 May 2011. Archived from the original on 15 September 2012. Retrieved 31 August 2011.
- ^ «Consumer Alert: QR Code Safety». Better Business Bureau. 23 June 2011. Archived from the original on 15 July 2012. Retrieved 31 August 2011.
- ^ «AVG Cautions: Beware of Malicious QR Codes». PC World. 28 June 2011. Archived from the original on 7 September 2012. Retrieved 31 August 2011.
- ^ «EvilQR – When QRCode goes bad». AppSec-Labs Blog. 14 August 2011. Archived from the original on 15 September 2012. Retrieved 31 August 2011.
- ^ «QR Codes: A Recipe for a Mobile Malware Tsunami». Cyveillance, Inc. 20 October 2010. Archived from the original on 28 July 2012. Retrieved 31 August 2011.
- ^ QR Codes hold up to 2.9 KB whereas the smallest known computer virus is about one-tenth that size «The Smallest Virus I Could Manage». Virus Labs and Distribution. 1995. Archived from the original on 15 September 2012. Retrieved 31 August 2011.
- ^ «Beware of Malicious QR Codes». ABC. 8 June 2011. Archived from the original on 1 August 2012. Retrieved 31 August 2011.
- ^ Binder, Matt. «Beware the QR code scams». Mashable. Retrieved 18 January 2022.
- ^ Vincent, James (12 January 2022). «The latest phishing scam to watch out for: fraudulent QR codes on parking meters». The Verge. Retrieved 18 January 2022.
- ^ Wodinsky, Shoshana (12 January 2022). «Scammers Are Using QR Codes to Plunder Parking Meter Payments». Gizmodo.
Bibliography[edit]
- BS ISO/IEC 18004:2006. Information technology. Automatic identification and data capture techniques. Bar code symbology. QR Code. Geneva: ISO/IEC. 2000. p. 114. OCLC 60816353.
- BS ISO/IEC 18004:2006. Information technology. Automatic identification and data capture techniques. QR Code 2005 bar code symbology specification. London: BSI. 2007. p. 126. ISBN 978-0-580-67368-9. Archived from the original on 22 March 2015. Retrieved 26 July 2010.
External links[edit]
- Reed Solomon Codes for Coders – an elaborate tutorial on Wikiversity, covering both QR code structure and the Reed Solomon codes used to encode the data.
A QR code (an initialism for quick response code) is a type of matrix barcode (or two-dimensional barcode)[1][2] invented in 1994 by Japanese company Denso Wave. A barcode is a machine-readable optical label that can contain information about the item to which it is attached. In practice, QR codes often contain data for a locator, identifier, or tracker that points to a website or application. QR codes use four standardized encoding modes (numeric, alphanumeric, byte/binary, and kanji) to store data efficiently; extensions may also be used.[3]
The quick response system became popular outside the automotive industry due to its fast readability and greater storage capacity compared to standard UPC barcodes. Applications include product tracking, item identification, time tracking, document management, and general marketing.[4]
A QR code consists of black squares arranged in a square grid on a white background, including some fiducial markers, which can be read by an imaging device such as a camera, and processed using Reed–Solomon error correction until the image can be appropriately interpreted. The required data is then extracted from patterns that are present in both horizontal and vertical components of the image.[4]
History[edit]
This section needs expansion. You can help by adding to it. (October 2021) |
The QR code system was invented in 1994 by Masahiro Hara from the Japanese company Denso Wave.[5][6][7] The initial design was influenced by the black and white pieces on a Go board.[8] Its purpose was to keep track of automotive parts manufactured by Denso, to replace several bar codes on each box, each of which had to be scanned separately.[9]
Adoption[edit]
QR codes can be displayed on buildings, as this one being painted in Cape Town
QR codes are now used in a much broader context, including both commercial tracking applications and convenience-oriented applications aimed at mobile-phone users (termed mobile tagging). QR codes may be used to display text to the user, to open a webpage on the user’s device, to add a vCard contact to the user’s device, to open a Uniform Resource Identifier (URI), to connect to a wireless network, or to compose an email or text message. There are a great many QR code generators available as software or as online tools that are either free, or require a paid subscription.[10] The QR code has become one of the most-used types of two-dimensional code.[11]
During the month of June 2011, 14 million American mobile users scanned a QR code or a barcode. Some 58% of those users scanned a QR or barcode from their homes, while 39% scanned from retail stores; 53% of the 14 million users were men between the ages of 18 and 34.[12]
In September 2020, a survey found that 18.8 percent of consumers in the United States and United Kingdom strongly agreed that they had noticed an increase of QR code use since the then-active COVID-19 related restrictions had begun several months prior.[13]
Standards[edit]
Structure of a QR code (version 7), highlighting functional elements
There are several standards that cover the encoding of data as QR codes:[14]
- October 1997 – AIM (Association for Automatic Identification and Mobility) International[15]
- January 1999 – JIS X 0510
- June 2000 – ISO/IEC 18004:2000 Information technology – Automatic identification and data capture techniques – Bar code symbology – QR code (now withdrawn)
Defines QR code models 1 and 2 symbols. - 1 September 2006 – ISO/IEC 18004:2006 Information technology – Automatic identification and data capture techniques – QR code 2005 bar code symbology specification (now withdrawn)[16]
Defines QR code 2005 symbols, an extension of QR code model 2. Does not specify how to read QR code model 1 symbols, or require this for compliance. - 1 February 2015 – ISO/IEC 18004:2015 Information – Automatic identification and data capture techniques – QR Code barcode symbology specification
Renames the QR Code 2005 symbol to QR Code and adds clarification to some procedures and minor corrections. - May 2022 – ISO/IEC 23941:2022 Information technology – Automatic identification and data capture techniques – Rectangular Micro QR Code (rMQR) bar code symbology specification[17]
Defines the requirements for Micro QR Code.
At the application layer, there is some variation between most of the implementations. Japan’s NTT DoCoMo has established de facto standards for the encoding of URLs, contact information, and several other data types.[18] The open-source «ZXing» project maintains a list of QR code data types.[19]
Uses[edit]
A QR code used on a large billboard in Japan, linking to the sagasou.mobi website
QR codes have become common in consumer advertising. Typically, a smartphone is used as a QR code scanner, displaying the code and converting it to some useful form (such as a standard URL for a website, thereby obviating the need for a user to type it into a web browser).
QR code has become a focus of advertising strategy, since it provides a way to access a brand’s website more quickly than by manually entering a URL.[20][21] Beyond mere convenience to the consumer, the importance of this capability is that it increases the conversion rate: the chance that contact with the advertisement will convert to a sale. It coaxes interested prospects further down the conversion funnel with little delay or effort, bringing the viewer to the advertiser’s website immediately, whereas a longer and more targeted sales pitch may lose the viewer’s interest.
Although initially used to track parts in vehicle manufacturing, QR codes are used over a much wider range of applications. These include commercial tracking, entertainment and transport ticketing, product and loyalty marketing and in-store product labeling. Examples of marketing include where a company’s discounted and percent discount can be captured using a QR code decoder which is a mobile app, or storing a company’s information such as address and related information alongside its alpha-numeric text data as can be seen in Yellow Pages directories.
They can also be used in storing personal information for use by organizations. An example of this is Philippines National Bureau of Investigation (NBI) where NBI clearances now come with a QR code. Many of these applications target mobile-phone users (via mobile tagging). Users may receive text, add a vCard contact to their device, open a URL, or compose an e-mail or text message after scanning QR codes. They can generate and print their own QR codes for others to scan and use by visiting one of several pay or free QR code-generating sites or apps. Google had an API, now deprecated, to generate QR codes,[22] and apps for scanning QR codes can be found on nearly all smartphone devices.[23]
QR codes have been used and printed on train tickets in China since 2010.[24]
QR codes storing addresses and URLs may appear in magazines, on signs, on buses, on business cards, or on almost any object about which users might want information. Users with a camera phone equipped with the correct reader application can scan the image of the QR code to display text, contact information, connect to a wireless network, or open a web page in the phone’s browser. This act of linking from physical world objects is termed hardlinking or object hyperlinking. QR codes also may be linked to a location to track where a code has been scanned. Either the application that scans the QR code retrieves the geo information by using GPS and cell tower triangulation (aGPS) or the URL encoded in the QR code itself is associated with a location. In 2008, a Japanese stonemason announced plans to engrave QR codes on gravestones, allowing visitors to view information about the deceased, and family members to keep track of visits.[25] Psychologist Richard Wiseman was one of the first authors to include QR codes in a book, in Paranormality: Why We See What Isn’t There (2011).[26][failed verification]
QR codes have been incorporated into currency. In June 2011, The Royal Dutch Mint (Koninklijke Nederlandse Munt) issued the world’s first official coin with a QR code to celebrate the centenary of its current building and premises. The coin can be scanned by a smartphone and originally linked to a special website with contents about the historical event and design of the coin.[27] In 2014, the Central Bank of Nigeria issued a 100-naira banknote to commemorate its centennial, the first banknote to incorporate a QR code in its design. When scanned with an internet-enabled mobile device, the code goes to a website which tells the centenary story of Nigeria.[28] In 2015, the Central Bank of the Russian Federation issued a 100-rubles note to commemorate the annexation of Crimea by the Russian Federation. It contains a QR code into its design, and when scanned with an internet-enabled mobile device, the code goes to a website that details the historical and technical background of the commemorative note. In 2017, the Bank of Ghana issued a 5-cedis banknote to commemorate 60 years of Central Banking in Ghana, and contains a QR code in its design, which when scanned with an internet-enabled mobile device, that code goes to the official Bank of Ghana website.
Credit card functionality is under development. In September 2016, the Reserve Bank of India (RBI) launched the eponymously named Bharat QR, a common QR code jointly developed by all the four major card payment companies – National Payments Corporation of India that runs RuPay cards along with MasterCard, Visa and American Express. It will also have the capability of accepting payments on the unified payments interface (UPI) platform.[29][30]
Augmented reality[edit]
QR codes are used in some augmented reality systems to determine the positions of objects in 3-dimensional space.[9]
Displaying multimedia contents[edit]
QR codes also used to direct users to specific multimedia content (such as videos, audios, images, documents and any type of content accessible from the web). This type of QR code is called «Multimedia QR code».
Mobile operating systems[edit]
QR codes can be used on various mobile device operating systems. iPhones running on iOS 11 and higher[31] and some Android devices can natively scan QR codes without downloading an external app.[32] The camera app is able to scan and display the kind of QR code (only on iPhone) along with the link (both on Android and iPhone). These devices support URL redirection, which allows QR codes to send metadata to existing applications on the device. Many paid or free apps are available with the ability to scan the codes and hard-link to an external URL.
Virtual stores[edit]
QR codes have been used to establish «virtual stores», where a gallery of product information and QR codes is presented to the customer, e.g. on a train station wall. The customers scan the QR codes, and the products are delivered to their homes. This use started in South Korea,[33] and Argentina,[34] but is currently expanding globally.[35] Walmart, Procter & Gamble and Woolworths have already adopted the Virtual Store concept.[36]
QR code payment[edit]
QR codes can be used to store bank account information or credit card information, or they can be specifically designed to work with particular payment provider applications. There are several trial applications of QR code payments across the world.[37][38] In developing countries like China,[39][40] India[41] and Bangladesh QR code payment is a very popular and convenient method of making payments. Since Alipay designed a QR code payment method in 2011,[42] mobile payment has been quickly adopted in China. As of 2018, around 83% of all payments were made via mobile payment.[43]
In November 2012, QR code payments were deployed on a larger scale in the Czech Republic when an open format for payment information exchange – a Short Payment Descriptor – was introduced and endorsed by the Czech Banking Association as the official local solution for QR payments.[44][45] In 2013, the European Payment Council provided guidelines for the EPC QR code enabling SCT initiation within the Eurozone.
In 2017, Singapore created a taskforce including their Government Agencies such as the Monetary Authority of Singapore and Infocomm Media Development Authority to spearhead a system for e-payments using standardized QR code specifications. These specific dimensions are specialized for Singapore’s market.[46]
The e-payment system, Singapore Quick Response Code (SGQR), essentially merges various QR codes into one label which can be used by both parties in the payment system. This allows for various banking apps to facilitate payments between multiple customers and a merchant that displays the single QR code.[47]
A single SDQR label contains e-payments and combines multiple payment options. Once consumers spot the SGQR label, they will be able to scan it and see which payment options the merchant accepts. The SGQR scheme is co-owned by MAS and IMDA. [48]
Website login[edit]
QR codes can be used to log into websites: a QR code is shown on the login page on a computer screen, and when a registered user scans it with a verified smartphone, they will automatically be logged in. Authentication is performed by the smartphone which contacts the server. Google tested such a login method in January 2012.[49]
Mobile ticket[edit]
There is a system whereby a QR code can be displayed on a device such as a smartphone and used as an admission ticket.[50][51][52] Its use is common for J1 League and Nippon Professional Baseball tickets in Japan.[53][54] In some cases, rights can be transferred via the Internet.
Restaurant ordering[edit]
Restaurants can present a QR code near the front door or at the table allowing guests to view an online menu, or even redirect them to an online ordering website or app, allowing them to order and/or possibly pay for their meal without having to use a cashier or waiter. QR codes can also link to daily or weekly specials that are not printed on the standardized menus,[55] and enable the establishment to update the entire menu without needing to print copies. At table-serve restaurants, QR codes enable guests to order and pay for their meals without a waiter involved – the QR code contains the table number so servers know where to bring the food.[56][57] This application has grown especially since the need for social distancing during the 2020 COVID-19 pandemic prompted reduced contact between service staff and customers.[56]
Joining a Wi‑Fi network[edit]
A QR code to automatically join a Wi‑Fi network
By specifying the SSID, encryption type, password/passphrase, and if the SSID is hidden or not, mobile device users can quickly scan and join networks without having to manually enter the data.[58] A MeCard-like format is supported by Android and iOS 11+.[59]
- Common format:
WIFI:S:<SSID>;T:<WEP|WPA|blank>;P:<PASSWORD>;H:<true|false|blank>;;
- Sample:
WIFI:S:MySSID;T:WPA;P:MyPassW0rd;;
Funerary use[edit]
A QR code which links to an obituary and can be placed on a headstone
A QR code can link to an obituary and can be placed on a headstone. In 2008, Ishinokoe in Yamanashi Prefecture, Japan began to sell tombstones with QR codes produced by IT DeSign, where the code leads to a virtual grave site of the deceased.[60][61][62] Other companies, such as Wisconsin-based Interactive Headstones, have also begun implementing QR codes into tombstones.[63] In 2014, the Jewish Cemetery of La Paz in Uruguay began implementing QR codes for tombstones.[64]
Electronic authentication[edit]
QR codes are also used to generate time-based one-time passwords (TOTP) for electronic authentication.
Loyalty programs[edit]
QR codes have been used by various retail outlets that have loyalty programs. Sometimes these programs are accessed with an app that is loaded onto a phone and includes a process triggered by a QR code scan. The QR codes for loyalty programs tend to be found printed on the receipt for a purchase or on the products themselves. Users in these schemes collect award points by scanning a code.
Counterfeit detection[edit]
Serialised QR codes have been used by brands[65] and governments[66] to let consumers, retailers and distributors verify the authenticity of the products and help with detecting counterfeit products, as part of a brand protection program.[67] However, the security level of a regular QR Code is limited since QR Codes printed on original products are easily reproduced on fake products, even though the analysis of data generated as a result of QR Code scanning can be used to detect counterfeiting and illicit activity.[68] A higher security level can be attained by embedding a digital watermark or copy detection pattern into the image of the QR Code. This makes the QR Code more secure against counterfeiting attempts, and fake products which contain a counterfeit QR Code can be detected by scanning the secure QR Code with a specific app (even though the QR Code message itself is valid).[69]
The treaty regulating apostilles (documents bearing a seal of authenticity), has been updated to allow for the issuance of digital apostilles by countries; a digital apostille is a PDF document with a cryptographic signature containing a QR code for a canonical URL of the original document, allowing users to verify the apostille from a printed version of the document.
Product tracing[edit]
Different studies have been made to assess the effectiveness of QR codes as a means of conveying labelling information and their use as part of a food traceability system. In a field experiment, it was found that when provided free access to a smartphone with QR Code scanning app, 52.6% of participants would use it to access labelling information.[70] A study made in South Korea showed that consumers appreciate QR code used in food traceability system, as they provide detailed information about food, as well as information that helps them in their purchasing decision.[71] If QR Codes are serialised, consumers can access a web page showing the supply chain for each ingredient, as well as information specific to each related batch, including meat processors and manufacturers, which helps address the concerns they have about the origin of their food.[72]
COVID-19 pandemic[edit]
After the COVID-19 pandemic began spreading, QR codes began to be used as a «touchless» system to display information, show menus, or provide updated consumer information, especially in the hospitality industry. Restaurants replaced paper or laminated plastic menus with QR code decals on the table, which opened an online version of the menu. This prevented the need to dispose of single-use paper menus, or institute cleaning and sanitizing procedures for permanent menus after each use.[73] Local television stations have also begun to utilize codes on local newscasts to allow viewers quicker access to stories or information involving the pandemic, including testing and immunization scheduling websites, or for links within stories mentioned in the newscasts overall.
In several Australian states, patrons are required to scan QR codes at shops, clubs, supermarkets and other service and retail establishments on entry to assist contact tracing. Singapore, Taiwan, the United Kingdom and New Zealand use similar systems.[74]
QR codes are also present on COVID-19 vaccination certificates in places such as Canada, and the EU (EU Digital COVID certificate) where they can be scanned to verify the information on the certificate.[75]
Design[edit]
Unlike the older, one-dimensional barcodes that were designed to be mechanically scanned by a narrow beam of light, a QR code is detected by a 2-dimensional digital image sensor and then digitally analyzed by a programmed processor. The processor locates the three distinctive squares at the corners of the QR code image, using a smaller square (or multiple squares) near the fourth corner to normalize the image for size, orientation, and angle of viewing. The small dots throughout the QR code are then converted to binary numbers and validated with an error-correcting algorithm.
Storage[edit]
The amount of data that can be stored in the QR code symbol depends on the data type (mode, or input character set), version (1, …, 40, indicating the overall dimensions of the symbol, i.e. 4 × version number + 17 dots on each side), and error correction level. The maximum storage capacities occur for version 40 and error correction level L (low), denoted by 40-L:[11][76]
Input mode | Max. characters | Bits/char. | Possible characters, default encoding |
---|---|---|---|
Numeric only | 7,089 | 31⁄3 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
Alphanumeric | 4,296 | 51⁄2 | 0–9, A–Z (upper-case only), space, $, %, *, +, -, ., /, : |
Binary/byte | 2,953 | 8 | ISO/IEC 8859-1 |
Kanji/kana | 1,817 | 13 | Shift JIS X 0208 |
Here are some sample QR code symbols:
-
Version 1 (21×21). Content: «Ver1»
-
Version 2 (25×25). Content: «Version 2»
-
Version 3 (29×29). Content: «Version 3 QR Code»
-
Version 4 (33×33). Content: «Version 4 QR Code, up to 50 char»
-
Version 10 (57×57). Content: «VERSION 10 QR CODE, UP TO 174 CHAR AT H LEVEL, WITH 57X57 MODULES AND PLENTY OF ERROR CORRECTION TO GO AROUND. NOTE THAT THERE ARE ADDITIONAL TRACKING BOXES» (actually encoded in all capital letters). (Tracking boxes are more commonly called alignment patterns.)
-
Version 25 (117×117) Content: 1,269 characters of ASCII text describing QR Codes
-
Version 40 (177×177) Content: «Version 40 QR Code can contain up to 1852 chars…» (and followed by four paragraphs of ASCII text describing QR Codes).
Error correction[edit]
Example of a QR code with artistic embellishment that will still scan correctly thanks to error correction
QR codes use Reed–Solomon error correction over the finite field , the elements of which are encoded as bytes of 8 bits; the byte with a standard numerical value encodes the field element where is taken to be a primitive element satisfying . The Reed–Solomon code uses one of 37 different polynomials over , with degrees ranging from 7 to 68, depending on how many error correction bytes the code adds. It is implied by the form of Reed–Solomon used (systematic BCH view) that these polynomials are all on the form , however the rules for selecting the degree are specific to the QR standard.
When discussing the Reed–Solomon code phase there is some risk for confusion, in that the QR ISO/IEC standard uses the term codeword for the elements of , which with respect to the Reed–Solomon code are symbols, whereas it uses the term block for what with respect to the Reed–Solomon code are the codewords. The number of data versus error correction bytes within each block depends on (i) the version (side length) of the QR symbol and (ii) the error correction level, of which there are four. The higher the error correction level, the less storage capacity. The following table lists the approximate error correction capability at each of the four levels:
Level L (Low) | 7% of data bytes can be restored. |
Level M (Medium) | 15% of data bytes can be restored. |
Level Q (Quartile)[77] | 25% of data bytes can be restored. |
Level H (High) | 30% of data bytes can be restored. |
In larger QR symbols, the message is broken up into several Reed–Solomon code blocks. The block size is chosen so that no attempt is made at correcting more than 15 errors per block; this limits the complexity of the decoding algorithm. The code blocks are then interleaved together, making it less likely that localized damage to a QR symbol will overwhelm the capacity of any single block.
Due to error correction, it is possible to create artistic QR codes with embellishments to make them more readable or attractive to the human eye, and to incorporate colors, logos, and other features into the QR code block; the embellishments are treated as errors, but the codes still scan correctly.[78][79]
It is also possible to design artistic QR codes without reducing the error correction capacity by manipulating the underlying mathematical constructs.[80][81] Image processing algorithms are also used to reduce errors in QR-code.[82]
Encoding[edit]
The format information records two things: the error correction level and the mask pattern used for the symbol. Masking is used to break up patterns in the data area that might confuse a scanner, such as large blank areas or misleading features that look like the locator marks. The mask patterns are defined on a grid that is repeated as necessary to cover the whole symbol. Modules corresponding to the dark areas of the mask are inverted. The format information is protected from errors with a BCH code, and two complete copies are included in each QR symbol.[4]
The message dataset is placed from right to left in a zigzag pattern, as shown below. In larger symbols, this is complicated by the presence of the alignment patterns and the use of multiple interleaved error-correction blocks.
-
Meaning of format information. In the above figure, the format information is protected by a (15,5) BCH code, which can correct up to 3 bit errors. The total length of the code is 15 bits, of which 5 are data bits (2 EC level + 3 mask pattern) and 10 are extra bits for error correction. The format mask for these 15 bits is: [101010000010010]. Note that we map the masked values directly to its meaning here, in contrast to image 4 «Levels & Masks» where the mask pattern numbers are the result of putting the 3rd to 5th mask bit, [101], over the 3rd to 5th format info bit of the QR code.
-
Message placement within a QR symbol. The message is encoded using a (255,249) Reed Solomon code (shortened to (24,18) code by using «padding») which can correct up to 3 byte errors.
-
Larger symbol illustrating interleaved blocks. The message has 26 data bytes and is encoded using two Reed-Solomon code blocks. Each block is a (255,233) Reed Solomon code (shortened to (35,13) code), which can correct up to 11 byte errors in a single burst, containing 13 data bytes and 22 «parity» bytes appended to the data bytes. The two 35-byte Reed-Solomon code blocks are interleaved so it can correct up to 22 byte errors in a single burst (resulting in a total of 70 code bytes). The symbol achieves level H error correction.
The general structure of a QR encoding is as a sequence of 4 bit indicators with payload length dependent on the indicator mode (e.g. byte encoding payload length is dependent on the first byte).[83]
Mode indicator | Description | Typical structure ‘[ type : sizes in bits ]’ |
---|---|---|
0001 | Numeric | [0001 : 4] [ Character Count Indicator : variable ] [ Data Bit Stream : 31⁄3 × charcount ] |
0010 | Alphanumeric | [0010 : 4] [ Character Count Indicator : variable ] [ Data Bit Stream : 51⁄2 × charcount ] |
0100 | Byte encoding | [0100 : 4] [ Character Count Indicator : variable ] [ Data Bit Stream : 8 × charcount ] |
1000 | Kanji encoding | [1000 : 4] [ Character Count Indicator : variable ] [ Data Bit Stream : 13 × charcount ] |
0011 | Structured append | [0011 : 4] [ Symbol Position : 4 ] [ Total Symbols: 4 ] [ Parity : 8 ] |
0111 | ECI | [0111 : 4] [ ECI Assignment number : variable ] |
0101 | FNC1 in first position | [0101 : 4] [ Numeric/Alphanumeric/Byte/Kanji payload : variable ] |
1001 | FNC1 in second position | [1001 : 4] [ Application Indicator : 8 ] [ Numeric/Alphanumeric/Byte/Kanji payload : variable ] |
0000 | End of message | [0000 : 4] |
- Note:
- Character Count Indicator depends on how many modules are in a QR code (Symbol Version).
- ECI Assignment number Size:
- 8 × 1 bits if ECI Assignment Bitstream starts with ‘0’
- 8 × 2 bits if ECI Assignment Bitstream starts with ’10’
- 8 × 3 bits if ECI Assignment Bitstream starts with ‘110’
Four-bit indicators are used to select the encoding mode and convey other information.
Indicator | Meaning |
---|---|
0001 | Numeric encoding (10 bits per 3 digits) |
0010 | Alphanumeric encoding (11 bits per 2 characters) |
0100 | Byte encoding (8 bits per character) |
1000 | Kanji encoding (13 bits per character) |
0011 | Structured append (used to split a message across multiple QR symbols) |
0111 | Extended Channel Interpretation (select alternate character set or encoding) |
0101 | FNC1 in first position (see Code 128 for more information) |
1001 | FNC1 in second position |
0000 | End of message (Terminator) |
Encoding modes can be mixed as needed within a QR symbol. (e.g., a url with a long string of alphanumeric characters )
[ Mode Indicator][ Mode bitstream ] --> [ Mode Indicator][ Mode bitstream ] --> etc... --> [ 0000 End of message (Terminator) ]
After every indicator that selects an encoding mode is a length field that tells how many characters are encoded in that mode. The number of bits in the length field depends on the encoding and the symbol version.
Encoding | Ver. 1–9 | 10–26 | 27–40 |
---|---|---|---|
Numeric | 10 | 12 | 14 |
Alphanumeric | 9 | 11 | 13 |
Byte | 8 | 16 | 16 |
Kanji | 8 | 10 | 12 |
Alphanumeric encoding mode stores a message more compactly than the byte mode can, but cannot store lower-case letters and has only a limited selection of punctuation marks, which are sufficient for rudimentary web addresses. Two characters are coded in an 11-bit value by this formula:
- V = 45 × C1 + C2
This has the exception that the last character in an alphanumeric string with an odd length is read as a 6-bit value instead.
Code | Character | Code | Character | Code | Character | Code | Character | Code | Character |
---|---|---|---|---|---|---|---|---|---|
00 | 0 | 09 | 9 | 18 | I | 27 | R | 36 | Space |
01 | 1 | 10 | A | 19 | J | 28 | S | 37 | $ |
02 | 2 | 11 | B | 20 | K | 29 | T | 38 | % |
03 | 3 | 12 | C | 21 | L | 30 | U | 39 | * |
04 | 4 | 13 | D | 22 | M | 31 | V | 40 | + |
05 | 5 | 14 | E | 23 | N | 32 | W | 41 | – |
06 | 6 | 15 | F | 24 | O | 33 | X | 42 | . |
07 | 7 | 16 | G | 25 | P | 34 | Y | 43 | / |
08 | 8 | 17 | H | 26 | Q | 35 | Z | 44 | : |
Decoding example[edit]
The following images offer more information about the QR code.
-
1 – Introduction
-
2 – Structure
-
3 – Layout & Encoding
-
4 – Levels & Masks
-
5 – Protocols
Variants[edit]
Model 1[edit]
Model 1 QR code is an older version of the specification. It is visually similar to the widely seen model 2 codes, but lacks alignment patterns. Differences are in the bottom right corner, and in the midsections of the bottom and right edges are additional functional regions.
-
Model 1 QR code example
-
Model 1 QR code functional regions
Micro QR code [edit]
Micro QR code is a smaller version of the QR code standard for applications where symbol size is limited. There are four different versions (sizes) of Micro QR codes: the smallest is 11×11 modules; the largest can hold 35 numeric characters.[84]
-
Micro QR code example
-
Micro QR code functional regions
IQR code[edit]
IQR Code is an alternative to existing QR codes developed by Denso Wave. IQR codes can be created in square or rectangular formations; this is intended for situations where a rectangular barcode would otherwise be more appropriate, such as cylindrical objects. IQR codes can fit the same amount of information in 30% less space. There are 61 versions of square IQR codes, and 15 versions of rectangular codes. For squares, the minimum size is 9 × 9 modules; rectangles have a minimum of 19 × 5 modules. IQR codes add error correction level S, which allows for 50% error correction.[85] IQR Codes have not yet been given an ISO/IEC specification, and only proprietary Denso Wave products can create or read IQR codes.[86]
Secure QR code[edit]
Secure Quick Response (SQR) code is a QR code that contains a «private data» segment after the terminator instead of the specified filler bytes «ec 11».[87] This private data segment must be deciphered with an encryption key. This can be used to store private information and to manage company’s internal information.[88]
SQR codes have been developed by the FORUS Foundation to enable secure transactions, and published under a Creative Commons Licence.
The SQR solution guarantees the integrity of the source data as well as the validity of the originating party.
The payment instruction string is made up of the electronic instruction data from the scanned QR code appended with a SHA-2 cryptographic hash.
The message digest can then be encrypted using the private key of the sender, which then creates a digital signature of the message.
This signature validates the integrity of the data and the trustworthiness of the sender. This provides non-repudiation, confirming the identity of the sender, and that it has not been tampered with during transmission.
By embedding the URL and all the variables required to perform shopping cart type e-commerce, bill payment and peer to peer payments, coupled with a digital certificate eliminates the possibility of spoofing, tampering, and man in the middle attacks.
[89]
Frame QR[edit]
Frame QR is a QR code with a «canvas area» that can be flexibly used. In the center of this code is the canvas area, where graphics, letters, and more can be flexibly arranged, making it possible to lay out the code without losing the design of illustrations, photos, etc.[90]
HCC2D[edit]
Samples of the High Capacity Colored 2-Dimensional (HCC2D) code: (a) 4-color HCC2D code and (b) 8-color HCC2D code.
Researchers have proposed a new High Capacity Colored 2-Dimensional (HCC2D) Code, which builds upon a QR code basis for preserving the QR robustness to distortions and uses colors for increasing data density (as of 2014 it is still in prototyping phase). The HCC2D code specification is described in details in Querini et al. (2014),[91] while techniques for color classification of HCC2D code cells are described in detail in Querini and Italiano (2014),[92] which is an extended version of Querini and Italiano (2013).[93]
Introducing colors into QR codes requires addressing additional issues. In particular, during QR code reading only the brightness information is taken into account, while HCC2D codes have to cope with chromatic distortions during the decoding phase. In order to ensure adaptation to chromatic distortions which arise in each scanned code, HCC2D codes make use of an additional field: the Color Palette Pattern. This is because color cells of a Color Palette Pattern are supposed to be distorted in the same way as color cells of the Encoding Region. Replicated color palettes are used for training machine learning classifiers.
JAB code[edit]
Wikipedia greetings with link encoded using eight-colour JAB code
JAB code (Just Another Barcode) is a color 2D matrix symbology made of color squares arranged in either square or rectangle grids. It was developed by Fraunhofer Institute SIT (Secure Information Technology).[94]
The code contains one primary symbol and optionally multiple secondary symbols. The primary symbol contains four finder patterns located at the corners of the symbol.[95]
The code uses either 4 or 8 colours.[96] The 4 basic colours (cyan, magenta, yellow, black) are the 4 primary colours of the subtractive CMYK color model which is the most widely used system in industry for colour printing on a white base such as paper. The other 4 colours (blue, red, green, white) are secondary colours of the CMYK model and originate as an equal mixture of a pair of basic colours.
The barcode is not subject to licensing and was submitted to ISO/IEC standardization as ISO/IEC 23634 expected to be approved at the beginning of 2021[97] and finalized in 2022.[96] The software is open-source and published under the LGPL v2.1 license.[98] The specification is freely available.[95]
Because the colour adds a third dimension to the two-dimensional matrix, a JAB code can contain more information in the same area compared to two-colour (black and white) codes – theoretically twice as much data for a 4 colour code and three times more for 8 colours assuming the same encoding algorithm. This can allow storage of an entire message in the barcode, rather than just storing partial data with a reference to a full message somewhere else (such as a link to a website), thus eliminating the need for additional always-available infrastructure beyond the printed barcode itself. It may be used to digitally sign encrypted digital version of printed legal documents, contracts and certificates (diplomas, training), medical prescriptions or provide product authenticity assurance to increase protection against counterfeits.[96]
License[edit]
The use of QR code technology is freely licensed as long as users follow the standards for QR Code documented with JIS or ISO/IEC. Non-standardized codes may require special licensing.[99]
Denso Wave owns a number of patents on QR code technology, but has chosen to exercise them in a limited fashion.[99] In order to promote widespread usage of the technology Denso Wave chose to waive its rights to a key patent in its possession for standardized codes only.[14] In the US, the granted QR code patent is US 5726435, and in Japan JP 2938338, both of which have expired. The European Patent Office granted patent EP 0672994 to Denso Wave, which was then validated into French, UK, and German patents, all of which expired in March 2015.[100]
The text QR Code itself is a registered trademark and wordmark of Denso Wave Incorporated.[101] In UK, the trademark is registered as E921775, the term QR Code, with a filing date of 3 September 1998.[102] The UK version of the trademark is based on the Kabushiki Kaisha Denso (DENSO CORPORATION) trademark, filed as Trademark 000921775, the term QR Code, on 3 September 1998 and registered on 16 December 1999 with the European Union OHIM (Office for Harmonization in the Internal Market).[103]
The U.S. Trademark for the term QR Code is Trademark 2435991 and was filed on 29 September 1998 with an amended registration date of 13 March 2001, assigned to Denso Corporation.[104]
Risks[edit]
The only context in which common QR codes can carry executable data is the URL data type. These URLs may host JavaScript code, which can be used to exploit vulnerabilities in applications on the host system, such as the reader, the web browser or the image viewer, since a reader will typically send the data to the application associated with the data type used by the QR code.
In the case of no software exploits, malicious QR codes combined with a permissive reader can still put a computer’s contents and user’s privacy at risk. This practice is known as «attagging», a portmanteau of «attack tagging».[105] They are easily created and can be affixed over legitimate QR codes.[106] On a smartphone, the reader’s permissions may allow use of the camera, full Internet access, read/write contact data, GPS, read browser history, read/write local storage, and global system changes.[107][108][109]
Risks include linking to dangerous web sites with browser exploits, enabling the microphone/camera/GPS, and then streaming those feeds to a remote server, analysis of sensitive data (passwords, files, contacts, transactions),[110] and sending email/SMS/IM messages or packets for DDoS as part of a botnet, corrupting privacy settings, stealing identity,[111] and even containing malicious logic themselves such as JavaScript[112] or a virus.[113][114] These actions could occur in the background while the user is only seeing the reader opening a seemingly harmless web page.[115] In Russia, a malicious QR code caused phones that scanned it to send premium texts at a fee of $6 each.[105] QR codes have also been linked to scams in which stickers are placed on parking meters, posing as quick payment options, as seen in Austin, San Antonio and Boston, among other cities across the United States and Australia.[116][117][118]
See also[edit]
- Aztec Code
- Data Matrix
- PDF417
- QRpedia
- SnapTag
- SPARQCode
- Touchatag
References[edit]
- ^ Hung, Shih-Hsuan; Yao, Chih-Yuan; Fang, Yu-Jen; Tan, Ping; Lee, RuenRone; Sheffer, Alla; Chu, Hung-Kuo (1 September 2020). «Micrography QR Codes». IEEE Transactions on Visualization and Computer Graphics. 26 (9): 2834–2847. doi:10.1109/TVCG.2019.2896895. ISSN 1077-2626. PMID 30716038. S2CID 73433883.
- ^ Chen, Rongjun; Yu, Yongxing; Xu, Xiansheng; Wang, Leijun; Zhao, Huimin; Tan, Hong-Zhou (11 December 2019). «Adaptive Binarization of QR Code Images for Fast Automatic Sorting in Warehouse Systems». Sensors. 19 (24): 5466. Bibcode:2019Senso..19.5466C. doi:10.3390/s19245466. PMC 6960674. PMID 31835866.
- ^ «QR Code features». Denso-Wave. Archived from the original on 29 January 2013. Retrieved 3 October 2011.
- ^ a b c «QR Code Essentials». Denso ADC. 2011. Archived from the original on 12 May 2013. Retrieved 12 March 2013.
- ^ «QRコード開発|テクノロジー|デンソーウェーブ» [QR code development]. Denso Wave (in Japanese). Retrieved 26 October 2021.
- ^ «2D Barcodes». NHK World-Japan. 26 March 2020.
- ^ «From Japanese auto parts to ubiquity: A look at the history of QR codes». Mainichi Daily News. 9 November 2021. Retrieved 11 November 2021.
- ^ «The Little-Known Story of the Birth of the QR Code». 10 February 2020. Archived from the original on 4 March 2020.
- ^ a b Borko Furht (2011). Handbook of Augmented Reality. Springer. p. 341. ISBN 9781461400646. Archived from the original on 21 December 2016.
- ^ Joe Waters. «How to Use the Top QR Code Generators». Dummies.com. Archived from the original on 11 September 2017. Retrieved 5 June 2017.
- ^ a b «QR Code—About 2D Code». Denso-Wave. Archived from the original on 5 June 2016. Retrieved 27 May 2016.
- ^ «14m Americans scanned QR and bar codes with their mobiles in June 2011». 16 August 2011. Archived from the original on 5 April 2016. Retrieved 27 May 2016.
- ^ «U.S. and UK increase of QR code use 2020». 6 July 2021. Retrieved 13 August 2021.
- ^ a b «QR Code Standardization». QR Code.com. Denso-Wave. Archived from the original on 10 May 2016. Retrieved 23 May 2016.
- ^ «ISS QR Code|AIM Store: Historical Archive». Aimglobal.org. Archived from the original on 8 August 2016. Retrieved 26 May 2016.
- ^ «ISO/IEC 18004:2006 — Information technology – Automatic identification and data capture techniques – QR Code 2005 bar code symbology specification». www.iso.org. Archived from the original on 8 March 2017. Retrieved 7 March 2017.
- ^ «ISO/IEC 23941:2022 Information technology — Automatic identification and data capture techniques — Rectangular Micro QR Code (rMQR) bar code symbology specification». ISO. Retrieved 3 January 2023.
- ^ «Synchronization with Native Applications». NTT DoCoMo. Archived from the original on 6 August 2016. Retrieved 26 May 2016.
- ^ Sean Owen (17 January 2014). «Barcode contents». GitHub. Archived from the original on 15 February 2016. Retrieved 26 May 2016.
- ^ Rimma Kats (23 January 2012). «Starbucks promotes coffee blend via QR codes». Archived from the original on 3 June 2016. Retrieved 26 May 2016.
- ^ Jenny Lee (4 January 2012). «Tesco’s cool QR code advertising campaign». Archived from the original on 3 June 2016. Retrieved 26 May 2016.
- ^ «Getting Started with Infographics (deprecated)». google-developers.appspot.com. 26 May 2015. Archived from the original on 29 June 2016. Retrieved 27 May 2016.
- ^ «QR Code Readers for iPhone, Android, Blackberry and Windows Phone 7». 7 December 2010. Archived from the original on 25 August 2011.
- ^ «QR codes on China’s train tickets may leak personal information». Want China Times. Archived from the original on 12 December 2013. Retrieved 16 March 2013.
- ^ Novak, Asami (23 March 2008). «Japanese Gravestones Memorialize the Dead With QR Codes». Wired. Archived from the original on 15 February 2013. Retrieved 8 May 2013.
- ^ Skepticality (5 July 2011). «Paranormality». Skepticality.com. Archived from the original on 3 July 2015. Retrieved 27 June 2015.
- ^ «Herdenkingsmunt met QR code volop in het nieuws!» [Commemorative QR code in the news!]. Koninklijke Nederlandse Munt (in Dutch). 21 June 2011. Archived from the original on 29 June 2016. Retrieved 27 May 2016.
- ^ «New ₦100 Commemorative Centenary Celebration». Archived from the original on 8 September 2015. Retrieved 10 September 2015.
- ^ www.ETRetail.com. «With IndiaQR launch, retail payments to get digital edge — ET Retail». ETRetail.com. Archived from the original on 15 February 2017. Retrieved 15 February 2017.
- ^ «IndiaQR to debut on Feb 20». The Times of India. Archived from the original on 16 February 2017. Retrieved 15 February 2017.
- ^ Hein, Buster (21 September 2017). «How to scan QR codes with iOS 11’s Camera app». Cult of Mac. Archived from the original on 5 January 2019. Retrieved 28 May 2019.
- ^ Lacoma, Tyler (3 October 2018). «How to Scan a QR Code». Digital Trends. Archived from the original on 22 April 2019. Retrieved 28 May 2019.
- ^ «Tesco QR Code Virtual Store». 14 April 2012. Archived from the original on 25 May 2016. Retrieved 26 May 2016.
- ^ Sebastián Campanario (16 September 2011). «Marketing futurista: ya se puede comprar con la cámara del celular» [Futuristic marketing: it’s already possible to purchase with a cellphone’s camera] (in Spanish). Archived from the original on 23 September 2011.
- ^ «Marketers scatter phone-friendly codes across ads». 11 November 2010. Retrieved 26 May 2016.
- ^ «Top 10 QR Code Store examples». 14 April 2012. Archived from the original on 6 June 2016. Retrieved 26 May 2016.
- ^ «SCVNGR Unveils QR Code Payment System». Mashable. 12 October 2011. Archived from the original on 8 December 2012.
- ^ «MasterCard starts piloting QkR mobile payment app». 26 January 2012. Archived from the original on 8 January 2014.
- ^ Jacobs, Harrison. «One photo shows that China is already in a cashless future». Business Insider. Retrieved 14 October 2019.
- ^ Mozur, Paul (16 July 2017). «In Urban China, Cash Is Rapidly Becoming Obsolete». The New York Times. ISSN 0362-4331. Retrieved 14 October 2019.
- ^ «Paying With Your Mobile Wallet To Get Simpler With Interoperable QR Codes». Moneycontrol. Retrieved 22 December 2020.
- ^ «A Hangzhou Story: The Development of China’s Mobile Payment Revolution» (PDF).
- ^ «Payment methods in China: How China became a mobile-first nation». daxueconsulting.com. Retrieved 23 June 2020.
- ^ «Standard — Formát pro sdílení platebních údajů v rámci tuzemského platebního styku v CZK prostřednictvím QR kódů» [Standard No. 26: Format for exchanging payment information for domestic payments in CZK using QR codes] (in Czech). Czech Banking Association. November 2012. Archived from the original on 3 June 2016. Retrieved 27 May 2016.
- ^ «Formát pro sdílení platebních údajů v CZK — QR kódy» [Format for exchanging payment information in CZK — QR codes] (in Czech). the Czech Banking Association. August 2015. Retrieved 2020-02-17.
- ^ IMDA (9 November 2022). «Annex A – Fact sheet on Singapore Quick Response Code (SGQR)» (PDF).
- ^
- ^ Monetary Authority of Singapore (9 November 2022). «Singapore Quick Response Code (SGQR)».
- ^ «Google testing login authentication via QR codes». ZDNet. Archived from the original on 15 June 2013.
- ^ «Mobile ticket generation|applications|QR Code Solutions|system solutions|DENSO WAVE». www.denso-wave.com.
- ^ «【公式】チケットの使い方 東京ディズニーリゾート» (in Japanese).
- ^ «ダイレクトイン(QRコード)の使い方|USJ WEBチケットストア». USJ (in Japanese).
- ^ «QRチケットレス入場について». サンフレッチェ広島 オフィシャルサイト (in Japanese).
- ^ «スマートスタジアム». 東北楽天ゴールデンイーグルス (in Japanese).
- ^ Management 2020 (https://modernrestaurantmanagement.com), Modern Restaurant (22 October 2020). «Restaurant QR Codes: 2020’s Comeback Story | Restaurant QR Codes: 2020’s Comeback Story | Modern Restaurant Management | The Business of Eating & Restaurant Management News». Modern Restaurant Management. Retrieved 1 November 2020.
- ^ a b Kastrenakes, Jacob (29 September 2020). «Square launches QR codes that let you order from your table at a restaurant». Verge.com. VOX Media LLC. Retrieved 24 November 2020.
- ^ Glass, Noah (7 October 2020). «How To Prepare For Table Service 2.0». Forbes. Retrieved 24 November 2020.
- ^ «Share your Wi-Fi SSID & Password using a QR Code». 19 July 2015.
- ^ «zxing documentation: barcode contents». GitHub. zxing.
- ^ «モノウォッチは生まれ変わります». Archived from the original on 13 November 2015. Retrieved 10 September 2015.
- ^ Michael Keferl (20 March 2008). «QR code graves give a «Memorial Window»«. Japan Trends. Archived from the original on 2 May 2012.
- ^ «供養の窓 — 石の声 株式会社» (in Japanese). Archived from the original on 13 November 2015. Retrieved 10 September 2015.
- ^ «Quiring Monuments adds smartphone codes to gravestones». Puget Sound Business Journal. 26 April 2011. Archived from the original on 23 June 2015. Retrieved 10 September 2015.
- ^ «Uruguayan Jewish Cemetery QR-ified» (in Spanish). EL PAIS. 24 March 2014. Archived from the original on 3 August 2016.
- ^ «Exclusive — CHINA: Pernod Ricard to use QR codes on all China packaging». www.just-drinks.com. 17 September 2013. Retrieved 24 April 2020.
- ^ «Digital tax stamps will curb fake goods — URA». Daily Monitor. Retrieved 24 April 2020.
- ^ «The power of smart packaging». www.bakingbusiness.com. Retrieved 3 May 2020.
- ^ Baldini, Gianmarco; Nai Fovino, Igor; Satta, Riccardo; Tsois, Aris; Checchi, Enrico (2015). Survey of techniques for the fight against counterfeit goods and Intellectual Property Rights (IPR) infringement. Luxembourg: European Commission. Joint Research Centre, Publications Office. ISBN 978-92-79-54543-6. OCLC 948769705.
- ^ Carron, Cecilia (6 May 2015). «Combatting counterfeiting using QR codes». phys.org. Retrieved 16 June 2020.
- ^ Li, Tongzhe; Messer, Kent D.; Li, Tongzhe; Messer, Kent D. (2019). Li, Tongzhe; Messer, Kent D. (eds.). «To Scan or Not to Scan: The Question of Consumer Behavior and QR Codes on Food Packages». Journal of Agricultural and Resource Economics. doi:10.22004/ag.econ.287977. ISSN 1068-5502.
- ^ Kim, Yeong Gug; Woo, Eunju (1 July 2016). «Consumer acceptance of a quick response (QR) code for the food traceability system: Application of an extended technology acceptance model (TAM)». Food Research International. 85: 266–272. doi:10.1016/j.foodres.2016.05.002. ISSN 0963-9969. PMID 29544844.
- ^ «Behind Every Smart Product is Smart Packaging | Future Food Asia». futurefoodasia.com. Retrieved 24 June 2020.
- ^ Leger, Benjamin (27 October 2020). «QR codes are replacing physical menus at restaurants». [225]. Retrieved 1 November 2020.
- ^ Purtill, James (19 November 2020). «The proliferation of QR code check-ins is a ‘dog’s breakfast’. Is there a better way?». www.abc.net.au. Australian Broadcasting Corporation. Retrieved 15 January 2021.
- ^ Hristova, Bobby (28 December 2021). «Ontarians need QR code to prove vaccination next week. Here’s what you need to know». Retrieved 30 December 2021.
- ^ «Information capacity and versions of QR Code». Denso-Wave. Archived from the original on 29 May 2016.
- ^ «2D Barcode: QR-Code». Archived from the original on 15 September 2012. — TEC-IT
- ^ Hajra Shannon (18 October 2010). «Form Meets Function: Functionality and Form of QR Codes». Retrieved 29 July 2010.
- ^ Hamilton Chan (18 April 2011). «HOW TO: Make Your QR Codes More Beautiful». Mashable. Archived from the original on 10 July 2012. Retrieved 29 July 2011.
- ^ Russ Cox (12 April 2012). «QArt Codes: How to make pictures with QR codes, part II». Archived from the original on 21 March 2015. Retrieved 8 May 2015.
- ^ Russ Cox (12 April 2012). «QArt Coder». Archived from the original on 24 April 2015. Retrieved 8 May 2015.
- ^ Gupta, Kishor Datta; Ahsan, Md Manjurul; Andrei, Stefan (January 2018). «Extending the Storage Capacity And Noise Reduction of a Faster QR-Code». Brain Broad Research in Artificial Intelligence and Neuroscience. 9 (1): 59–71.
- ^ ISO/IEC 18004:2006(E) § 6.4 Data encoding; Table 3 – Number of bits in character count indicator for QR Code 2005
- ^ Information technology – Automatic identification and data capture techniques – QR Code 2005 bar code symbology specification, ISO/IEC 18004:2006 cor. 2009, pages 3, 6.
- ^ «QR Code Overview & Progress of QR Code Applications» (PDF). Archived (PDF) from the original on 20 May 2013. Retrieved 26 June 2014.
- ^ «iQR Code — QRcode.com — DENSO WAVE». Archived from the original on 7 September 2015. Retrieved 10 September 2015.
- ^ «Embedding Secret Data in QR Code». Retrieved 29 October 2018.
- ^ «SQRC». qrcode.com. Retrieved 26 December 2017.
- ^ «FORUS». www.forus.co.za. Retrieved 27 December 2020.
- ^ «Frame QR». qrcode.com. Retrieved 26 December 2017.
- ^ «2D Color Barcodes for Mobile Phones» (PDF). Archived from the original (PDF) on 4 March 2016.
- ^ «Reliability and data density in high capacity color barcodes» (PDF). Archived from the original (PDF) on 24 July 2015.
- ^ «Color classifiers for 2D color barcodes» (PDF). Fedcsis.org. 2013. Archived (PDF) from the original on 24 July 2015.
- ^ «JAB code website». jabcode.org. 2019.
- ^ a b «JAB code technical specification» (PDF). www.bsi.bund.de. 2019.
- ^ a b c Küch, Oliver (26 June 2020). «Color barcode becomes ISO standard» (Press release). Darmstadt: Fraunhofer Institute for Secure Information Technology. Retrieved 17 February 2021.
- ^ «ISO/IEC DIS 23634 Information technology — Automatic identification and data capture techniques — JAB Code polychrome bar code symbology specification». ISO/IEC. Retrieved 17 February 2021.
- ^ «jabcode». GitHub. 2019.
- ^ a b «About the patent». Denso-Wave. Archived from the original on 25 June 2016. Retrieved 26 June 2016.
- ^ «DPA».«INPI». Archived from the original on 13 August 2016.«UK IPO». 9 March 2013.
- ^ «QR Code.com». Denso-Wave. 6 November 2003. Archived from the original on 15 September 2012. Retrieved 23 April 2009.
- ^ «UK QR Code Trademark». Archived from the original on 15 September 2012.
- ^ «EU QR Code Trademark». Archived from the original on 15 September 2012.
- ^ «US QR Code Trademark». Archived from the original on 15 September 2012.
- ^ a b «Jargon Watch», Wired, vol. 20, no. 1, p. 22, January 2012.
- ^ «Malicious Images: What’s a QR Code». SANS Technology Institute. 3 August 2011. Archived from the original on 13 July 2012. Retrieved 31 August 2011.
- ^ «Barcode Scanner». 1 June 2011. Archived from the original on 15 September 2012. Retrieved 31 August 2011.
- ^ «QR Droid». 19 August 2011. Archived from the original on 15 September 2012. Retrieved 31 August 2011.
- ^ «ScanLife Barcode Reader». 24 May 2011. Archived from the original on 15 September 2012. Retrieved 31 August 2011.
- ^ «Consumer Alert: QR Code Safety». Better Business Bureau. 23 June 2011. Archived from the original on 15 July 2012. Retrieved 31 August 2011.
- ^ «AVG Cautions: Beware of Malicious QR Codes». PC World. 28 June 2011. Archived from the original on 7 September 2012. Retrieved 31 August 2011.
- ^ «EvilQR – When QRCode goes bad». AppSec-Labs Blog. 14 August 2011. Archived from the original on 15 September 2012. Retrieved 31 August 2011.
- ^ «QR Codes: A Recipe for a Mobile Malware Tsunami». Cyveillance, Inc. 20 October 2010. Archived from the original on 28 July 2012. Retrieved 31 August 2011.
- ^ QR Codes hold up to 2.9 KB whereas the smallest known computer virus is about one-tenth that size «The Smallest Virus I Could Manage». Virus Labs and Distribution. 1995. Archived from the original on 15 September 2012. Retrieved 31 August 2011.
- ^ «Beware of Malicious QR Codes». ABC. 8 June 2011. Archived from the original on 1 August 2012. Retrieved 31 August 2011.
- ^ Binder, Matt. «Beware the QR code scams». Mashable. Retrieved 18 January 2022.
- ^ Vincent, James (12 January 2022). «The latest phishing scam to watch out for: fraudulent QR codes on parking meters». The Verge. Retrieved 18 January 2022.
- ^ Wodinsky, Shoshana (12 January 2022). «Scammers Are Using QR Codes to Plunder Parking Meter Payments». Gizmodo.
Bibliography[edit]
- BS ISO/IEC 18004:2006. Information technology. Automatic identification and data capture techniques. Bar code symbology. QR Code. Geneva: ISO/IEC. 2000. p. 114. OCLC 60816353.
- BS ISO/IEC 18004:2006. Information technology. Automatic identification and data capture techniques. QR Code 2005 bar code symbology specification. London: BSI. 2007. p. 126. ISBN 978-0-580-67368-9. Archived from the original on 22 March 2015. Retrieved 26 July 2010.
External links[edit]
- Reed Solomon Codes for Coders – an elaborate tutorial on Wikiversity, covering both QR code structure and the Reed Solomon codes used to encode the data.
В период пандемии многие пользователи впервые столкнулись с QR-кодами. РБК Тренды объясняют, как они работают, где используются и какие имеют перспективы применения в будущем
1
Что такое QR-код
QR (от английского Quick Response, «быстрый отклик») — это двумерный тип штрих-кода, который легко считывается цифровым устройством и хранит информацию в виде серии пикселей в квадратной сетке, которая внешне выглядит как черно-белый узор. QR-код, в отличие от штрих-кода, читается в двух направлениях — по горизонтали и по вертикали. Это позволяет хранить в нем больше данных. При сканировании QR-кода пользователь получает доступ к этим данным мгновенно.
В наши дни QR-коды используются во множестве отраслей как для хранения данных (ссылки на сайты, номера телефонов или тексты), так и для предоставления доступа к Wi-Fi, отправки и получения платежной информации и прочих целей.
В 2020 году многие люди впервые столкнулись с QR-кодами. Сначала их ввели для контроля режима самоизоляции и передвижений, а затем начали использовать для пропуска вакцинированных в различные заведения. По данным агентства Bitly, за полтора года пандемии число считываний QR-кодов во всем мире выросло на 750%.
В последний локдаун, который начался 28 октября и продлился до 7 ноября, многие регионы России разрешили вход в культурно-развлекательные учреждения только по QR-кодам вакцинированных и переболевших коронавирусом. РБК Тренды разобрались, как развивалась эта технология, в чем заключается принцип ее работы и какие у нее перспективы.
2
История QR-кодов
В 1960-х годах, когда Япония вступила в период быстрого экономического роста, во многих районах страны начали появляться супермаркеты, торгующие широким спектром товаров. Кассирам приходилось вручную вбивать их стоимость на кассовых аппаратах. Из-за этого у многих работников развивались синдром запястного канала. Была разработана POS-система, в которой цена товара автоматически отображалась на кассовом аппарате, когда его штрих-код сканировал оптический датчик. Но по мере распространения штрих-кодов стали очевидны и их ограничения. Самым заметным из них был тот факт, что такой код может содержать не более 20 цифро-буквенных символов.
В начале 1990-х годов японская Denso Wave Inc., дочерняя структура Toyota, которая занималась разработкой считывателей штрих-кодов, решила создать новые коды, которые могли бы содержать больше информации. Чтобы ускорить чтение кода, разработчики добавили угловые метки, которые сначала видит считыватель. Затем они изучили соотношение белых и черных областей на изображениях и символах в листовках, журналах, на картонных коробках и прочей продукции. Исследователи выбрали самое непопулярное соотношение, которое не использовалось в печатной продукции и в штрих-кодах и при этом могло считываться под любым углом.
В 1994 году был представлен первый QR-код. Он мог кодировать до 7 тыс. знаков и считывался в 10 раз быстрее, чем штрих-код. Первой такие коды стала использовать автомобильная промышленность. Они значительно упростили все управленческие задачи от контроля производства до доставки и выдачи квитанций о транзакциях.
Изобретатель QR-кода Масахиро Хара
(Фото: qrcode.com)
Denso Wave открыла свою разработку для свободного использования. В 2000 году Международная организация по стандартизации внесла QR-код в список одобренных стандартов кодирования информации.
3
Как работают QR-коды
Узор QR-кода хранит зашифрованную последовательность данных в двоичном формате (1 и 0) в виде матрицы. Каждой отдельной ячейке сетки присваивается значение в зависимости от цвета (черный или белый). Затем ячейки группируются в более крупные узоры. Ключи закодированных данных содержат дубликаты, поэтому при повреждении поверхности QR-кода до определенных масштабов его можно считать.
Устройство (специальный сканер или смартфон) распознает QR-код по трем квадратным меткам, расположенным по его углам. Они указывают, в каком направлении читать код. Обнаружив их, сканер считывает содержание квадрата, а затем анализирует QR-код, представляя его в виде сетки. Процесс считывания обеспечивает специализированное программное обеспечение, способное извлекать данные из шаблонов в матрице.
Также каждый QR-код имеет полосы синхронизации, чтобы его можно было считать даже на неровной поверхности.
Кроме того, QR-код включает маркер его версии, то есть сведения о формате, в котором закодированы данные. Всего их четыре: цифровое, буквенно-цифровое, двоичное и кандзи для японских иероглифов.
QR-код имеет также блоки исправления ошибок Рида — Соломона, которые располагаются по краям. Коды Рида-Соломона представляют собой специальную группу кодов, исправляющих ошибки при чтении QR. Таким образом, даже при повреждении 30% поверхности QR-кода, сканер считывает его правильно.
Наконец, каждый QR-код отделяется от внешнего пространства белым пространством или «тихой зоной». Она нужна, чтобы сканер распознал код.
Устройство QR-кода
(Фото: datagenetics.com)
- Поисковый узор
- Сведения о формате
- Полосы синхронизации
- Информация о версии
- Тихая зона
- Выравнивающий узор
В смартфонах последних лет выпуска присутствует встроенный считыватель QR-кода, который расположен в камере. Для считывания достаточно навести камеру на код под любым углом. Даже если на телефоне нет встроенного считывателя QR-кода, его можно скачать в магазинах приложений. В этом случае для считывания потребуется открыть приложение.
QR-коды можно считать и на компьютере с помощью одной из специализированных программ. Например, bcTester умеет сканировать разные типы QR-кодов, а bcWebCam работает напрямую с веб-камерой.
4
Виды QR-кодов
Есть несколько типов QR-кодов, которые можно использовать для разных целей. Они включают:
- QR-код модель 1: это прототип модели 2 и Micro QR. Он позволяет кодировать до 1167 цифр (707 символов).
QR-код модель 1
(Фото: wikiwand.com)
- QR-код модель 2: такой код содержит шаблон выравнивания для лучшей регулировки положения и имеет большую плотность данных, чем предшественник. Самая большая версия способна хранить до 7089 цифр (4296 символов).
- Micro QR-код: уменьшенная версия традиционного QR-кода, который используется, когда пространство ограничено. У него присутствует только один шаблон позиционирования вместо трех. Микро-QR-коды могут различаться по размеру, самый маленький кодирует до 35 цифр (21 символа).
Micro QR-код
(Фото: wikiwand.com)
- Код IQR: может представлять собой квадрат или прямоугольник, а также точечный рисунок. Всего насчитывается 61 формат такого кода. iQR может содержать до 40 тыс. цифр. Даже при повреждении 50% площади такой код можно считать. У обычного QR площадь повреждения не должна превышать 30%.
- SQRC: имеет функцию ограниченного чтения, так как может содержать личную информацию. Личные данные может считать только устройство с криптографическим ключом, который обеспечивает защиту данных. Такой код печатают с помощью принтера, совместимого с SQRC, а считывают с помощью специального сканера.
- Frame QR: код с настраиваемой рамкой, внутри которой можно заключить данные в таких форматах, как графика, иллюстрации или фотографии.
В некоторых отраслях используются коды, которые не имеют отношения к Denso Wave. Например, Aztec Code с квадратом в центре можно увидеть на авиа- и железнодорожных билетах, MaxiCode используется в грузоперевозках, DataMatrix в промышленности, а прямоугольный PDF417 — для документов.
- PDF417 — двумерный штрих-код, созданный компанией Symbol Technologies, который имеет максимальную емкость примерно в три раза ниже, чем у QR (2710 цифр, 1850 символов).
- Data Matrix — выглядит как QR-код, но не имеет квадратных меток в углах. Разработан компанией International Data Matrix, включает объем информации до 3116 цифр или 2355 символов.
- Aztec Code получил свое название благодаря характерному символу в центре изображения, которое напоминает пирамиду ацтеков сверху. Код изобретен Андрю Лонгацром и Робетром Хассли и имеет разные размеры — от 13 цифр, 12 букв и до 3832 цифр, 3067 букв. Уровень возможных ошибок в таком коде может варьироваться от 5% до 95%.
Aztec Code
(Фото: wikipedia.org)
5
Для чего нужны QR-коды
В зависимости от области применения используются статические и динамические QR-коды. Первые содержат информацию, которую нельзя редактировать после создания кода. Они подходят для личного использования, например, настройки подключения к Wi-Fi или создания визиток, идентификации сотрудников, значков событий, технической документации по продукту и т.д.
В случае с динамическом QR-кодом информацию можно обновлять, редактировать и изменять сам тип такого кода уже после его создания. Коды такого вида больше подходят для бизнеса и маркетинговых целей. В рамках рекламной кампании с помощью QR-кодов можно собирать и измерять статистику при каждом сканировании.
Бизнес, некоммерческие организации и даже отдельные пользователи могут применять QR-коды для своих задач.
- Цифровая визитка. После сканирования человек получает доступ к цифровой визитке, которая может быть гораздо объемнее бумажной и включать ссылки на соцсети, данные о состоянии здоровья и прочую информацию. Такие визитки с указанием адреса можно даже создавать для питомцев, чтобы их вернули владельцу. Визитку можно сгенерировать самостоятельно или обратиться в компанию, которая предлагает такие услуги.
Цифровая визитка для питомца
(Фото: qr-code-generator.com)
- Бизнес-страница. Перейдя на бизнес-страницу, клиент сможет посмотреть график работы компании, узнать, где находится ближайшее заведение и т.д.
- Реклама и акции. QR-коды со ссылками на сайт компании, а также скидками и купонами можно размещать прямо на рекламных щитах.
- Платежи. Используя QR-код, организация может предоставить клиентам гибкость и удобство бесконтактной оплаты, что особенно ценно в период пандемии.
- Информирование. QR с поддержкой PDF могут кодировать объемные статьи, в которых организация будет делиться данными о последних исследованиях или статистикой, а бренд предоставит руководство по использованию своего продукта.
- Повышение вовлеченности и охвата. QR-коды могут включать ссылки на соцсети, а также видео, фотогалереи и аудио, в которых компания (блогер, благотворительная организация) рассказывает о своей работе, анонсирует или представляет продукт.
- Обратная связь. Пользователи могут сканировать такой код и заполнять форму с отзывами и пожеланиями, писать на почту компании, а также выставлять компании рейтинг. QR-код с поддержкой SMS дает возможность отправить отзыв на корпоративный номер телефона даже без подключения к интернету.
Плакат с QR-кодом для обратной связи в парке
(Фото: qrco.de)
- Идентификация. Коды SQRC с личной информацией можно использовать, чтобы ограничить допуск в отдельные помещения или к определенной документации.
- Утилитарные цели. Например, кодом можно заменить пригласительные билеты на большое мероприятие. В нем достаточно прописать все детали события и разослать приглашенным.
6
Как развиваются QR-коды
Генеральный директор и соучредитель агентства цифровых продуктов Very Big Things Крис Стегнер отмечает, что пандемия радикально изменила способ взаимодействия людей друг с другом и с окружающей средой, так как физическое здоровье стало главным приоритетом. Этот сдвиг быстро ускорил рост бесконтактной экономики. По мнению Стегнера, именно QR-коды позволят решить множество проблем повседневного взаимодействия людей благодаря широкому распространению смартфонов. В 2021 году количество пользователей смартфонов в мире достигло 6,4 млрд человек или 80,76% населения Земли.
По данным Juniper Research, к 2022 году владельцы смартфонов будут использовать 5,3 млрд купонов с QR-кодами, а пользователи 1 млрд смартфонов будут иметь постоянный доступ к QR-кодам. Ключевые области, на которых будет сосредоточена технология QR-кодов, — это приложения. Другие области роста — системы бесконтактных платежей, транспорт и туризм, здравоохранение и маркетинг. Например, через QR-платформу бронирования пациенты клиник смогут записываться на прием к специалистам и даже отправлять свои медданные. Постоянное взаимодействие людей с QR-кодами упростит задачу и компаниям, которые смогут ненавязчиво предлагать свои продукты в нужное время и в нужном месте. Южнокорейская Homeplus уже организовала виртуальные магазины прямо на станциях метро. Витрины содержат изображения продуктов с QR-кодом. При сканировании кода продукт добавляется в корзину в мобильном приложении магазина. После этого покупка доставляется прямо на дом.
Виртуальный магазин Homeplus
Властям это поможет выстраивать грамотную систему навигации и туризма, когда QR-коды будут выдавать информацию о маршруте и его загруженности, а при посещении исторического места — рассказывать его историю вместо гида. Также технология упрощает обратную связь. В Нью-Йорке QR-коды уже не первый год размещают на строящихся домах, чтобы любой желающий мог проверить разрешения на строительство, получить подробную информацию о текущем проекте, а также напрямую связаться с департаментом строительства и подать жалобу на нарушения.
Стегнер признает, что полностью бесконтактный опыт возможен не для всех сценариев. Но, по его словам, существует огромное число возможностей реализовать его, к примеру, в банкоматах. Пользователи смогут просто сканировать QR-код, чтобы запустить приложение банка и уже оттуда управлять терминалом. Важную роль QR-коды могут сыграть в трансформации общественных пространств. Например, их можно будет размещать на дверях лифтов, чтобы человек мог просто отсканировать код, включить лифт и выбрать на смартфоне свой этаж.
Компании уже всячески экспериментируют с QR-кодами. Немецкий звукозаписывающий лейбл Kontor Records искал новый метод продвижения своей музыки. Компания решила отправить рекламным агентствам конверт, похожий на проигрыватель винила, с QR-кодом в углу. Когда код сканировали, дисплей смартфона пользователя превращался в интерактивную иглу проигрывателя. Устройство можно было поместить на пластинку, которая была в конверте, и игла на дисплее двигалась.
Акция с QR-кодами от Kontor Records
В Kontor Records рассказали, что получатели отсканировали 71% из 900 отправленных им QR-кодов, что на 64% больше обычного показателя ответов рекламщиков.
QR-код – это двухмерный штрих-код, хранящий в себе информацию для быстрого распознавания объекта. Его можно отсканировать с помощью смартфона или планшета. Аббревиатура «qr» происходит от фразы «quick response», что означает «быстрый отклик».
Впервые QR-код стал использоваться в Японии в 1994 году. В нем спрятана разнообразная информация, включающая в себя зашифрованные цифры и символы.
QR-код значительно упрощает повседневную жизнь. Его можно использовать для кодирования визиток, проведения оплаты ЖКХ, оплаты штрафов и, даже заработка на кэшбэке. Существует ряд приложений и сервисов для считывания и создания QR-кода.
В бизнесе его применяют в качестве дополнительного инструмента продвижения и рекламы. В некоторых странах он успел получить распространение в транспортной индустрии. Именно поэтому в столь прогрессивный век каждому стоит научиться им пользоваться.
Содержание:
- QR-код: что эта такое и где может применяться;
- Плюсы использования QR-кодов;
- Как правильно сканировать QR-код;
- Проведение оплаты;
- ТОП-5 вариантов использования QR-кода;
- Какие возможности открывают QR-коды в бизнесе?
- Как заработать на сканировании чеков?
QR-код: что эта такое и где может применяться
В повседневной жизни QR-код встречается повсеместно. Он представляют собой темный штрих-код в виде квадрата с зашифрованной информацией. QR-код можно обнаружить на чеке, ценниках, визитках, рекламных буклетах и т.д. Иногда он встречается и на фасадах зданий.
В нем может быть зашифрована ссылка, адрес электронной почты или сайта, номер телефона и другая важная информация. Многих интересует, как произносится эта замысловатая аббревиатура. На самом деле, все просто – так же, как пишется: «Кью Ар Код».
Для расшифровки необходимо навести на штрих-код камеру телефона. В некоторых моделях QR-код считывается автоматически. В остальных случаях приходится устанавливать специальное приложение.
История возникновения QR-кодов уходит корнями в 90-е годы. Их придумали в Японии для маркировки товаров. В основе их создания стоит компания «Denso». Главная цель внедрения QR-кодов в общий обиход заключалась в автоматизации различных производственных процессов.
Последние годы их стали использовать не только в рекламе и торговле, но и в быту.
QR-код ВК можно создать с помощью специального конструктора. С ним становится проще знакомиться или делиться интересной информацией. При знакомстве с людьми отпадает необходимость называть свой ник или персональные данные. Достаточно показать QR-код так, чтобы собеседник мог его отсканировать.
Аналогичная система имеется и в Инстаграм. Ею часто пользуются владельцы бизнес-аккаунтов. Штрих-код со ссылкой на профиль размещают на визитке. Кроме того, очень удобно скачивать фильмы и музыку с помощью QR-кодов. Для этого не надо совершать никаких дополнительных телодвижений.
Наличие сканера в мобильном телефоне может пригодиться в путешествии по незнакомой стране. QR-кода могут использоваться в качестве альтернативы бумажных билетов.
В транспортной инфраструктуре их нередко применяют в качестве замены онлайн-табло. Это избавляет от необходимости тратить деньги на подвесные дисплеи.
Например, в Германии QR-кода можно обнаружить на стенах вагонов. В них закодирована информация о маршрутах, стоимости билетов и т.д.
В ресторанах и кафе с их помощью можно изучить меню, не подзывая официанта. Они также задействованы в туристических маршрутах. QR-кода можно обнаружить на крупных достопримечательностях.
Эта практика особенно распространена в Японии. На одном из кладбищ было принято решение перенести всю информацию об усопших в матричный код.
Плюсы использования QR-кодов
Существенным плюсом QR-кодов считается их вместимость. В него можно зашифровать не только короткую фразу, но и целый текст. Стандартный QR-код содержит в себе около 4 000 символов. Если речь идет об изображениях, то их размер не должен превышать 4 КБ.
Это не так много, поэтому зачастую в штрих-код зашифровывают ссылку на площадку с нужной информацией. QR-код может использоваться для отправки сообщений. В нем можно уместить до 7 089 цифр, 1 817 иероглифов и 2 953 байтов.
Еще одно преимущество заключается в интенсивном внедрении QR-кодов в повседневную жизнь. Они стали встречаться почти на каждом шагу, что значительно упрощает привычные дела.
Нередко таблички со штрих-кодами располагаются на популярных достопримечательностях и памятных местах. В зашифрованном символе может содержаться история создания объекта.
Внедрение QR-кодов в производство позволило снизить стоимость некоторых товаров. Производители стали экономить на бумаге для изготовления инструкций.
Теперь для того, чтобы узнать о противопоказаниях, способе применения и составе, достаточно просто отсканировать товар.
В Китае с помощью популярного приложения WeChat QR-кода используют для оплаты товаров. Удивительно, но с их помощью даже дают милостыню. В России новейшую разработку давно внедрили в процесс оплаты ЖКХ. На сегодняшний день любую квитанцию можно оплатить через телефон, не выходя из дома.
Сегодня использование системы матричных кодов считается новейшим способом взаимодействия производителя с потребителем.
Раньше надписи этикеток имели ограниченное пространство. Производителю приходилось уменьшать шрифт или сокращать информацию о продукте. С появлением QR-кодов эта проблема полностью исчезла.
Сфера применения QR-кодов |
|
Удобство и скорость общения, экономия времени |
|
Эффективная реклама, экономия на бумаге |
|
Пассивный и быстрый заработок на собственных покупках |
|
Автоматизация процесса приобретения товаров |
Как правильно сканировать QR-код
Чтобы понять, как пользоваться QR-кодом, не нужно обладать особыми знаниями. Достаточно иметь при себе телефон с заранее скачанным приложением. Алгоритм действий будет следующим:
- Необходимо открыть приложение, считывающее штрих-коды.
- Телефон следует направить на QR-код таки образом, чтобы он попал в появившуюся на экране рамку.
- Код должен считаться автоматически. Если этого не произошло, то требуется нажать на кнопку, отвечающую за фотографирование.
После прохождения всех этапов на экране телефона появится приглашение для прохождения по ссылке или откроется текст/изображение. Принцип считывания штрих-кода с помощью планшета абсолютно такой же. На весь процесс уходит всего несколько секунд.
К наиболее распространенным приложениям для считывания кодов можно отнести:
- QR Code & сканер штрих кодов (от Green Apple Studio);
- Молния QR-сканер;
- QR сканер штрих-кода GeeksLab.
Проведение оплаты
Последнее время QR-код стал активно использоваться платежными системами. О том, как с его помощью делать платежи, следует ознакомиться людям, экономящим свое время. Это избавляет от необходимости стоять в очереди в банке.
На сегодняшний день система считывания матричных кодов встроена в большинство банкоматов. С их помощью удается оплачивать счета, не вводя никаких данных. Достаточно приложить квитанцию к лазерной полоске и произвести оплату.
Оплата по QR-коду может проводиться через мобильное приложение платежной системы. В нем будет отдельный раздел, имеющий соответствующий значок.
После появления на экране специальной рамки необходимо направить телефон на квитанцию.
Проблемы со считыванием могут возникнуть тогда, когда штрих-код расположен на бумажном носителе – чеке или квитанции. Например, в случае выгорания краски на солнце.
Главное преимущество оплаты с помощью матричного кода заключается в отсутствии риска допустить ошибку. При ручном вводе данных вероятность ошибиться гораздо выше. К тому же, на это уходит слишком много времени.
ТОП-5 вариантов использования QR-кода
Тем, кто понял, как читается QR-код, захочется получить от него максимум пользы. Этот инструмент действительно очень полезный и нужный. Он позволят избавиться от лишней макулатуры и сэкономить огромное количество времени. Можно выделить следующие популярные способы использования QR-кода:
- Заработок на сканировании чеков. Его суть заключается в получения кэшбэка за покупку.
- Применение QR-кода в качестве основного носителя информации для продвижения бизнеса. Он выполняет роль инновационной визитки или главной страницы сайта.
- Активация мессенджеров, предназначенных для смартфонов, на компьютере. Это позволяет без труда перенести Whats App, Facebook или Instagram на ПК вместе со всеми чатами и контактами.
- Получение скидок в магазине. Как правило, QR-кода размещают на купонах.
- Приобретение электронного билета или японской визы.
Удивительно, но некоторые люди делают татуировки в виде штрих-кодов. Они зашифровывают в них важные послания или имена близких людей. Менее смелые и эксцентричные делают аппликации в виде матричного кода на своей одежде. В некоторых странах матричные изображение начинают внедрять в архитектуру.
Какие возможности открывают QR-коды в бизнесе?
Новейшая технология стала повсеместно использоваться в маркетинге. QR-коды стали задействовать в качестве инструмента для продвижения. Его наличие у компании свидетельствует о том, что она идет в ногу со временем. Это автоматически вызывает доверие.
К тому же, с помощью QR-кода можно легко и емко донести до потенциального клиента необходимую информацию. Главное, чтобы рядом с QR-кодом был размещен призыв к считыванию.
Создать QR-код может каждый пользователь смартфона, обладающий базовыми умениями. Для этого следует воспользоваться специализированными сервисами. Они функционируют в онлайн режиме.
Ниже размещен процесс создания кода в первом попавшемся генераторе. Чтобы создать динамический код, можно воспользоваться сервисом qr-code-generator.com. В этом случае QR-код можно будет корректировать.
В настройках некоторых генераторов можно задать цвет и размер кода. Творческие личности нередко отдают предпочтение оформлению градиентом или использованию небанальной картинки в виде фона. Количество вариантов оформления ограничивается только полетом фантазии.
Если матричный код размещается на печатной рекламе, то его ширина должна составляет не менее 1,5 см. Оптимальным станет соотношение 1,5*1,5. Это обеспечивает удобство сканирования. Если речь идет о наружной рекламе, то параметры должны быть гораздо больше.
Как заработать на сканировании чеков?
Огромную популярность в сети получил заработок на кэшбэке, в котором задействованы штрих-коды. Его принцип достаточно простой. Необходимо скачать приложение и фиксировать с его помощью каждый чек.
В личном кабинете будут отображаться деньги, возвращенные за покупку. Многих интересует, что будет, если он отсутствует на чеке. В этом случае покупка попросту не засчитается. Нужно сохранять те чеки, на которых имеется штрих-код.
К преимуществам такого заработка относят легкость выполнения заданий. Не нужно совершать лишних действий. Несмотря на это, со временем на счету может скопиться кругленькая сумма. К самым популярным приложениям для заработка относят Едадил, Disconto и Biglion.
Вывод средств можно осуществлять на банковскую карту или мобильный телефон. Помимо получения обычного кэшбэка, можно принять участие в партнерской или акционной программах. Чтобы заработать больше, желательно использовать сразу несколько приложений. В этом случае можно будет несколько раз получить кэшбэк с каждого чека.
Итог
Что такое QR-код, и как он читается, нужно знать, хотя бы для общего развития. В современном мире его распространение только набирает обороты, но уже приносит массу пользы в обыденных вещах. Для пользования этой несложной системой достаточно иметь современный телефон и приложение-сканер. Причем совсем не обязательно иметь дорогое устройство. Единственное условия – это наличие в нем камеры.
С уважением, Вероника Владимирова
специально для проекта proudalenku.ru
Народ, бывает, не знает как произносится QR-код, слово то мудреное, заграничное. Куар-код, куир-код или может быть кьюр-код? Скоро, думаю, это слово с легкостью будет выговаривать каждая старушка, завсегдатайка лавочки у подъезда. Привыкнет народ… QR выговаривать следует именно так, как эти буквы в английском языке и звучат — Q (кью) R (ар), ну и слово код. Если уж совсем изощриться и сойти за знатока иностранного языка, то следует букву а несколько протягивать в звуковом исполнении, а также правильно выговаривать букву р, звучание которой несколько отличается в английском языке, в отличие от языка русского: Только в этом случае вы сойдете за настоящего пижона:) автор вопроса выбрал этот ответ лучшим LionBlue 5 месяцев назад QR-код — если это слово рассмотреть по синтаксическим/морфологическим/семантическим его свойствам, то получить можно такое:
Сыррожа более года назад Вообще тут надо полагаться на транскрипцию звучания букв Q и R в английском алфавите. Для первой буквы в этой аббревиатуре звучание такое: [kju::], что по-русски звучит, ка «кью«. Для второй буквы — звувчание такое: [a:(r)], что эквивалентно русскому длинному «а» с возможным ограничением длительности с помощью звука «р«, т.е. «аар«. В итоге получаем произношение «кью аар» (где «р» явно не выпячивается). Но как и везде исходное звучание искажается местным диалектом, в России это чаще всего выглядит, как «ку эр«… spring948374 более года назад В школе я изучала немецкий язык, в нём Q звучит как «ку». В английском языке звучит не «ку», а «кью». R звучит как «ар» без акцента на «р», то есть «р» произносится картаво. В общем, говорите «кьюар»-код, не ошибётесь. Это самый верный вариант. Nikita2018 более года назад Говорите «КьюАр» код. «На той коробке наклеен КьюАр код» Хорошего дня Знаете ответ? |
Не знаете что такое QR — код? Кью ар код (QR-код) – это изображение с матричным кодом быстрого реагирования. Буквально означает «Quick Response» или «Быстрый ответ». Изобрели необычную кодировку на территории Японии, в 90-х годах. Первоначально он предназначался для маркировки товаров, и использовался как более продвинутый штрих-код, содержащий больше информации о том или ином товаре.
При наведении камеры современного смартфона на QR-код у пользователя открывается сайт или приложение, которое зашифровано в черно-белом квадрате.
Это интересно: Внутри QR-кода можно закодировать более 4000 цифр и букв, в то время как стандартный штрих-код позволяет передать лишь 20-30 цифр.
Отличия QR-кода и штрих-кода
QR-код | Штрих-код |
Позволяет зашифровать более 4000 символов. | Позволяет зашифровать лишь 20-30 цифр. |
Можно передавать не только цифры и буквы, но и другую информацию. | Позволяет передать только цифры. |
QR-код шифруется «квадратиками». | Штрих-код шифруется «палочками». |
QR-код можно использовать для быстрого перехода на сайт, ознакомления с новой информацией. Не каждый пользователь будет вводить адрес веб-сайта, а навести камеру смартфона на QR-код быстро и легко.
В изображении можно закодировать текст, картинку, ссылку и т.д. Подобную кодировку используют даже на архитектурных и исторических памятниках, чтобы туристы могли получить больше информации.
Сейчас QR-коды применяют для:
- получения скидок в магазинах;
- перехода по ссылке;
- скачивания файла;
- шифровки адреса веб-сайта;
- получения электронных билетов;
- предоставления визиток;
- кодирования продукции, то есть в качестве более продвинутого штрих-кода.
Чтобы получить зашифрованную информацию, достаточно запустить камеру смартфона и навести ее на матричный код. Мобильное устройство автоматически откроет ссылку, картинку или предоставит другую закодированную информацию.
Важно! Не все мобильные устройства могут считать QR-код. Для таких устройств были разработаны специальные приложения, которые распознают закодированную информацию. Таких приложений много: например-«Сканер штрих-кода»
- Запустите камеру мобильного телефона или специальное приложение.
- Наведите объектив на QR-код таким образом, чтобы он сфокусировался на центре изображения.
- Как только объектив поймает фокус, пользователь будет перенаправлен по закодированному адресу.
Важно! Если считывание QR-кода осуществляется с помощью сторонних приложений, углы квадратного шифра должны совпасть с отмеченными углами внутри приложения.
Считать любое изображение с компьютера можно с помощью специальных онлайн-сервисов, например, такого как qr.smartbobr.ru/skanirovat-qr-kod.html. Этот сайт предлагает воспользоваться веб-камерой ноутбука, или загрузить заранее скачанную картинку.
Кроме того можно установить программу «CodeTwo QR Code Desktop Reader». Она абсолютно бесплатна, занимает мало места и обладает хорошим функционалом. С ее помощью можно считать QR-код на сайте, сфотографировать его через веб-камеру, или загрузить заранее скачанное изображение.
Проверить подлинность товара по матричному коду можно с помощью приложения «Честный знак». Достаточно открыть его и навести камеру мобильного устройства на QR-код товара.
Если продукция подлинна, то пользователь увидит надпись «товар подлинный».
Если же перед ним подделка, покупатель будет иметь полное право оставить жалобу в графе «Претензии».
Интересно! С 2024 года вся товарная продукция, реализуемая на территории Российской Федерации, будет зарегистрирована в единой системе цифровой маркировки.
Закодированная в изображении информация может быть полезна при:
- создании визиток;
- привлечении новых посетителей на сайт;
- рекламной рассылке;
- ведении социальных сетей;
- оформлении исторических памятников.
QR-код позволяет быстро перенаправить потенциального клиента, пользователя, покупателя на нужный информационный ресурс.
Матричный код за пару кликов создается на специальных онлайн-сервисах.
Например:
- qrcoder.ru;
- the-qrcode-generator.com;
- smartbobr.ru;
- tec-it.com.
Все что требуется от пользователя, написать желаемый текст, ссылку или вставить картинку, которую он планирует закодировать в QR-код.
Пошаговая инструкция
- Перейти на сайт qrcoder.ru.
- Выбрать графу «Любой текст».
- Ввести желаемое объявление или информацию.
- Выбрать размер картинки.
- Нажать кнопку «Создать код».
- Скачать изображение с готовым матричным кодом, нажав правой кнопкой мыши на картинку, либо перейдя по ссылке.
Создать закодированную ссылку можно в точности так же как и при работе с текстом, надо лишь выбрать графу «Ссылку на сайт».
Также создать QR-код со ссылкой можно на других сервисах. Например, на qr.smartbobr.ru.
Пошаговая инструкция
- Ввести адрес веб-страницы в поле «Текст или ссылка».
- Выбрать размер отступа, цвет фона и цвет самого изображения.
- Продвинутые пользователи могут воспользоваться дополнительными параметрами.
- Нажать кнопку «Скачать QR-код».
- Несмотря на то, что QR-код создавался только для маркировки товаров, он получил широкое распространение в повседневной жизни, начиная от информационных сообщений, заканчивая рекламными баннерами и счетов за коммуналку.
- Для считывания матричного кода понадобится мобильный телефон с камерой, и в некоторых случаях специальное приложение. На сегодняшний день QR-код можно считать даже с персонального компьютера с помощью веб-камеры.
- Создать QR-код может любой заинтересованный пользователь буквально за пару секунд. Достаточно воспользоваться специальными онлайн-сервисами, которые зашифруют введенный текст, ссылку или изображение.
- Проверить подлинность купленного товара можно с помощью специального QR-кода в приложении «Честный знак».
Пожалуйста, оставьте ваши мнения по текущей теме статьи. За комментарии, лайки, отклики, дизлайки, подписки низкий вам поклон!
Пожалуйста, оставляйте ваши отзывы по текущей теме статьи. Мы крайне благодарны вам за ваши комментарии, отклики, дизлайки, лайки, подписки!
МФМаша Фреланкаавтор
Художественный QR-код. Несмотря на дополнительную информацию, этот код остаётся читаемым
QR-код, используемый на большом рекламном щите в Японии, ссылающийся на сайт sagasou.mobi в Сибуя, Токио.
QR-код используется и печатается на железнодорожных билетах в Китае с 2010 года.[1]
QR-код[a] (англ. Quick Response code — код быстрого отклика[2]; сокр. QR code) — тип матричных штриховых кодов (или двухмерных штриховых кодов), изначально разработанных для автомобильной промышленности Японии. Его создателем считается Масахиро Хара[3]. Сам термин является зарегистрированным товарным знаком японской компании «Denso». Штрихкод — считываемая машиной оптическая метка, содержащая информацию об объекте, к которому она привязана. QR-код использует четыре стандартизированных режима кодирования (числовой, буквенно-цифровой, двоичный и кандзи) для эффективного хранения данных; могут также использоваться расширения[4].
Система QR-кодов стала популярной за пределами автомобильной промышленности благодаря возможности быстрого считывания и большей ёмкости по сравнению со штрихкодами стандарта UPC. Расширения включают отслеживание продукции, идентификацию предметов, отслеживание времени, управление документами и общий маркетинг[5].
QR-код состоит из чёрных квадратов, расположенных в квадратной сетке на белом фоне, которые могут считываться с помощью устройств обработки изображений, таких как камера, и обрабатываться с использованием кодов Рида — Соломона до тех пор, пока изображение не будет надлежащим образом распознано. Затем необходимые данные извлекаются из шаблонов, которые присутствуют в горизонтальных и вертикальных компонентах изображения[5].
Описание[править | править код]
В те дни, когда не было QR-кода, компонентное сканирование проводилось на заводе-изготовителе Denso разными штрихкодами. Однако из-за того, что их было около 10, эффективность работы была крайне низкой, и работники жаловались, что они быстро устают, а также просили, чтобы был создан код, который может содержать больше информации, чем обычный штрихкод. Чтобы ответить на этот запрос работников, Denso-Wave была поставлена цель создать код, который может включать больше информации, чтобы позволить высокоскоростное компонентное сканирование.[6] Для этого Масахиро Хара, который работал в отделе разработки, начал разработку нового кода с 1992 года.[7] Вдохновением для создания QR-кода послужила игра го, в которую Масахиро Хара играл во время обеденного перерыва.[7] Он решил, что цель разработки состоит не только в увеличении объема кодовой информации, но и в «точном и быстром чтении», а также в том, чтобы сделать код читаемым и устойчивым к масляным пятнам, грязи и повреждениям, предполагая, что он будет использоваться на соответствующих производствах. QR-код был представлен японской компанией Denso-Wave, в 1994 году после двухлетнего периода разработки.[8][9][10] Он был разработан с учетом производственной системы компании «Toyota» «Канбан» (точно в срок) для использования на заводах по производству автозапчастей и в распределительных центрах. Однако, поскольку он обладает высокой способностью обнаружения и исправления ошибок и сделан с открытым исходным кодом, он вышел из узкой сферы производственных цепочек поставок компании «Toyota» и начал использоваться в других сферах, что привело к тому, что теперь он широко используется не только в Японии, но и во всем мире. Огромная популярность штрихкодов в Японии привела к тому, что объём информации, зашифрованной в них, вскоре перестал устраивать промышленность. Японцы начали экспериментировать с новыми современными способами кодирования небольших объёмов информации в графической картинке. QR-код стал одним из наиболее часто используемых типов двумерного кода в мире.[11]
Спецификация QR-кода не описывает формат данных.
В отличие от старого штрих-кода, который сканируют тонким лучом, QR-код определяется датчиком или камерой как двумерное изображение. Три квадрата в углах изображения и меньшие синхронизирующие квадратики по всему коду позволяют нормализовать размер изображения и его ориентацию, а также угол, под которым датчик расположен к поверхности изображения. Точки переводятся в двоичные числа с проверкой по контрольной сумме.
Основное достоинство QR-кода — это лёгкое распознавание сканирующим оборудованием, что даёт возможность использования в торговле, производстве, логистике.
Хотя обозначение «QR code» является зарегистрированным товарным знаком «DENSO Corporation», использование кодов не облагается никакими лицензионными отчислениями, а сами они описаны и опубликованы в качестве стандартов ISO.
Наиболее популярные программы просмотра QR-кодов поддерживают такие форматы данных: URL, закладка в браузер, Email (с темой письма), SMS на номер (c темой), MeCard, vCard, географические координаты, подключение к сети Wi-Fi.
Также некоторые программы могут распознавать файлы GIF, JPG, PNG или MID меньше 4 КБ и зашифрованный текст, но эти форматы не получили популярности.[13]
Применение[править | править код]
QR-коды больше всего распространены в Японии. Уже в начале 2000 года QR-коды получили столь широкое распространение в стране, что их можно было встретить на большом количестве плакатов, упаковок и товаров, там подобные коды наносятся практически на все товары, продающиеся в магазинах, их размещают в рекламных буклетах и справочниках. С помощью QR-кода даже организовывают различные конкурсы и ролевые игры. Ведущие японские операторы мобильной связи совместно выпускают под своим брендом мобильные телефоны со встроенной поддержкой распознавания QR-кода[14].
В настоящее время QR-код также широко распространён в странах Азии, постепенно развивается в Европе и Северной Америке. Наибольшее признание он получил среди пользователей мобильной связи — установив программу-распознаватель, абонент может моментально заносить в свой телефон текстовую информацию, подключаться к сети Wi-Fi, отправлять письма по электронной почте, добавлять контакты в адресную книгу, переходить по web-ссылкам, отправлять SMS-сообщения и т. д.
Как показало исследование, проведённое компанией comScore[en] в 2011 году, 20 млн жителей США использовали мобильные телефоны для сканирования QR-кодов[15].
В Японии, Австрии и России QR-коды также используются на кладбищах и содержат информацию об усопшем[16][17][18].
В китайском городе Хэфэй пожилым людям были розданы значки с QR-кодами, благодаря которым прохожие могут помочь потерявшимся старикам вернуться домой[19].
QR-коды активно используются музеями[20], а также и в туризме, как вдоль туристических маршрутов, так и у различных объектов. Таблички, изготовленные из металла, более долговечны и устойчивы к вандализму.
Использование QR-кодов для подтверждения вакцинации[править | править код]
Одновременно с началом массовой вакцинации против COVID-19 весной 2021 года почти во всех странах мира началась выдача документов о вакцинации — цифровых или бумажных сертификатов, на которые повсеместно помещали QR-коды. К 9 ноября 2021 года QR-коды для подтверждения вакцинации или перенесённого заболевания (COVID-19) были введены в 77 субъектах Российской Федерации (в некоторых из них начало действия QR-кодов было отсрочено, чтобы дать населению возможность привиться). В Татарстане введение QR-кодов привело к столпотворениям на входах в метро и многочисленным конфликтам между пассажирами и кондукторами общественного транспорта[21].
Общая техническая информация[править | править код]
Самый маленький QR-код (версия 1) имеет размер 21×21 пиксель (без учёта полей), самый большой (версия 40) — 177×177 пикселей. Связь номера версии с количеством модулей простая — QR-код последующей версии больше предыдущего строго на 4 модуля по горизонтали и по вертикали.
Существует четыре основные кодировки QR-кодов:
- Цифровая: 10 битов на три цифры, до 7089 цифр.
- Алфавитно-цифровая: поддерживаются 10 цифр, буквы от A до Z и несколько спецсимволов. 11 битов на два символа, до 4296 символов
- Байтовая: данные в любой подходящей кодировке (по умолчанию ISO 8859-1), до 2953 байт.
- Кандзи: 13 битов на иероглиф, до 1817 иероглифов.
Также существуют «псевдокодировки»: задание способа кодировки в данных, разбиение длинного сообщения на несколько кодов и т. д.
Для исправления ошибок применяется код Рида — Соломона с 8-битным кодовым словом. Есть четыре уровня избыточности: 7, 15, 25 и 30 %. Благодаря исправлению ошибок удаётся нанести на QR-код рисунок и всё равно оставить его читаемым.
Чтобы в коде не было элементов, способных запутать сканер, область данных складывается по модулю 2 со специальной маской. Корректно работающий кодер должен перепробовать все варианты масок, посчитать штрафные очки для каждой по особым правилам и выбрать самую удачную.
-
1 – Введение
-
2 – Структура
-
3 – Кодирование
-
4 – Уровни
-
5 – Протоколы
Micro QR[править | править код]
Функциональные области Micro QR-кода
Отдельно существует микро QR-код ёмкостью до 35 цифр.
Эффективность хранения данных по сравнению с традиционным QR кодом значительно улучшена благодаря использованию всего одной метки позиционирования, по сравнению с тремя метками в обычном QR коде. Из-за этого освобождается определённое пространство, которое может быть использовано под данные. Кроме того, QR код требует свободного поля вокруг кода шириной минимум в 4 модуля (минимальной единицы построения QR-кода), в то время как Micro QR код требует поля в два модуля шириной. Из-за большей эффективности хранения данных, размер Micro QR кода увеличивается не столь значительно с увеличением объёма закодированных данных по сравнению с традиционным QR кодом.
По аналогии с уровнями коррекции ошибок в QR кодах, Micro QR код бывает четырёх версий, М1-М4[22][23].
Версия кода | Количество модулей | Уровень коррекции ошибок | Цифры | Цифры и буквы | Двоичные данные | |
---|---|---|---|---|---|---|
M1 | 11 | — | 5 | — | — | — |
M2 | 13 | L (7 %) | 10 | 6 | — | — |
M (15 %) | 8 | 5 | — | — | ||
M3 | 15 | L (7 %) | 23 | 14 | 9 | 6 |
M (15 %) | 18 | 11 | 7 | 4 | ||
M4 | 17 | L (7 %) | 35 | 21 | 15 | 9 |
M (15 %) | 30 | 18 | 13 | 8 | ||
Q (25 %) | 21 | 13 | 9 | 5 |
Кодирование данных[править | править код]
Закодировать информацию в QR-код можно несколькими способами, а выбор конкретного способа зависит от того, какие символы используются. Если используются только цифры от 0 до 9, то можно применить цифровое кодирование, если кроме цифр необходимо зашифровать буквы латинского алфавита, пробел и символы $%*+-./:
, используется алфавитно-цифровое кодирование. Ещё существует кодирование кандзи, которое применяется для шифрования китайских и японских иероглифов, и побайтовое кодирование. Перед каждым способом кодирования создаётся пустая последовательность бит, которая затем заполняется.
Цифровое кодирование[править | править код]
Этот тип кодирования требует 10 бит на 3 символа. Вся последовательность символов разбивается на группы по 3 цифры, и каждая группа (трёхзначное число) переводится в 10-битное двоичное число и добавляется к последовательности бит. Если общее количество символов не кратно 3, то если в конце остаётся 2 символа, полученное двузначное число кодируется 7 битами, а если 1 символ, то 4 битами.
Например, есть строка «12345678», которую надо закодировать. Последовательность разбивается на числа: 123, 456 и 78, затем каждое число переводится в двоичный вид: 0001111011, 0111001000 и 1001110, и объединяется это в один битовый поток: 000111101101110010001001110.
Буквенно-цифровое кодирование[править | править код]
В отличие от цифрового кодирования, для кодирования 2 символов требуется 11 бит информации. Последовательность символов разбивается на группы по 2, в группе каждый символ кодируется согласно таблице «Значения символов в буквенно-цифровом кодировании». Значение первого символа умножается на 45, затем к этому произведению прибавляется значение второго символа. Полученное число переводится в 11-битное двоичное число и добавляется к последовательности бит. Если в последней группе остаётся один символ, то его значение кодируется 6-битным числом.
Рассмотрим на примере: «PROOF». Разбиваем последовательность символов на группы: PR, OO, F. Находим соответствующие значения символам к каждой группе (смотрим в таблицу): PR — (25,27), OO — (24,24), F — (15). Находим значения для каждой группы: 25 × 45 + 27 = 1152, 24 × 45 + 24 = 1104, 15 = 15. Переводим каждое значение в двоичный вид: 1152 = 10010000000, 1104 = 10001010000, 15 = 001111. Объединяем в одну последовательность: 1001000000010001010000001111.
Байтовое кодирование[править | править код]
Таким способом кодирования можно закодировать любые символы. Входной поток символов кодируется в любой кодировке (рекомендовано в UTF-8), затем переводится в двоичный вид, после чего объединяется в один битовый поток.
Например, слово «Мир» кодируем в Unicode (HEX) в UTF-8:
М — D09C; и — D0B8; р — D180. Переводим каждое значение в двоичную систему счисления: D0 = 11010000, 9C = 10011100, D0 = 11010000, B8 = 10111000, D1 = 11010001 и 80 = 10000000; объединяем в один поток битов: 11010000 10011100 11010000 10111000 11010001 10000000.
Кандзи[править | править код]
В основе кодирования иероглифов (как и прочих символов) лежит визуально воспринимаемая таблица или список изображений иероглифов с их кодами. Такая таблица называется «character set». Для японского языка основное значение имеют две таблицы символов: JIS 0208:1997 и JIS 0212:1990. Вторая из них служит в качестве дополнения по отношению к первой. JIS 0208:1997 разбита на 94 страницы по 94 символа. К примеру, страница 4 — хирагана, 5 — катакана, 7 — кириллица, 16—43 — кандзи уровня 1, 48—83 — кандзи уровня 2. Кандзи уровня 1 («JIS дайити суйдзюн кандзи») упорядочены по онам. Кандзи уровня 2 («JIS дайни суйдзюн кандзи») упорядочены по ключам, и внутри них — по количеству черт.
Добавление служебной информации[править | править код]
После определения версии кода и кодировки необходимо определиться с уровнем коррекции ошибок. В таблице представлены максимальные значения уровней коррекции для различных версий QR-кода. Для исправления ошибок применяется код Рида — Соломона с 8-битным кодовым словом.
Таблица. Максимальное количество информации.
Строка — уровень коррекции, столбец — номер версии.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |
L | 152 | 272 | 440 | 640 | 864 | 1088 | 1248 | 1552 | 1856 | 2192 | 2592 | 2960 | 3424 | 3688 | 4184 | 4712 | 5176 | 5768 | 6360 | 6888 |
M | 128 | 224 | 352 | 512 | 688 | 864 | 992 | 1232 | 1456 | 1728 | 2032 | 2320 | 2672 | 2920 | 3320 | 3624 | 4056 | 4504 | 5016 | 5352 |
Q | 104 | 176 | 272 | 384 | 496 | 608 | 704 | 880 | 1056 | 1232 | 1440 | 1648 | 1952 | 2088 | 2360 | 2600 | 2936 | 3176 | 3560 | 3880 |
H | 72 | 128 | 208 | 288 | 368 | 480 | 528 | 688 | 800 | 976 | 1120 | 1264 | 1440 | 1576 | 1784 | 2024 | 2264 | 2504 | 2728 | 3080 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | |
L | 7456 | 8048 | 8752 | 9392 | 10208 | 10960 | 11744 | 12248 | 13048 | 13880 | 14744 | 15640 | 16568 | 17528 | 18448 | 19472 | 20528 | 21616 | 22496 | 23648 |
M | 5712 | 6256 | 6880 | 7312 | 8000 | 8496 | 9024 | 9544 | 10136 | 10984 | 11640 | 12328 | 13048 | 13800 | 14496 | 15312 | 15936 | 16816 | 17728 | 18672 |
Q | 4096 | 4544 | 4912 | 5312 | 5744 | 6032 | 6464 | 6968 | 7288 | 7880 | 8264 | 8920 | 9368 | 9848 | 10288 | 10832 | 11408 | 12016 | 12656 | 13328 |
H | 3248 | 3536 | 3712 | 4112 | 4304 | 4768 | 5024 | 5288 | 5608 | 5960 | 6344 | 6760 | 7208 | 7688 | 7888 | 8432 | 8768 | 9136 | 9776 | 10208 |
После определения уровня коррекции ошибок необходимо добавить служебные поля, они записываются перед последовательностью бит, полученной после этапа кодирования. В них указывается способ кодирования и количество данных. Значение поля способа кодирования состоит из 4 бит, оно не изменяется, а служит знаком, который показывает, какой способ кодирования используется. Оно имеет следующие значения:
- 0001 для цифрового кодирования,
- 0010 для буквенно-цифрового и
- 0100 для побайтового
Пример:
Ранее в примере байтового кодирования кодировалось слово «Мир», при этом получилась следующая последовательность двоичного кода:
11010000 10011100 11010000 10111000 11010001 10000000, содержащая 48 бит информации.
Пусть необходим уровень коррекции ошибок Н, позволяющий восстанавливать 30 % утраченной информации. По таблице максимальное количество информации выбирается оптимальная версия QR-кода (в данном случае 1 версия, которая позволяет закодировать 72 бита полезной информации при уровне коррекции ошибок Н).
Информация о способе кодирования: побайтовому кодированию соответствует поле 0100.
Указание количества данных (для цифрового и буквенно-цифрового кодирования — количество символов, для побайтового — количество байт): данная последовательность содержит 6 байт данных (в двоичной системе счисления: 110).
По таблице определяется необходимая длина двоичного числа — 8 бит. Дописываются недостающие нули: 00000110.
Версия 1-9 | Версия 10-26 | Версия 27-40 | |
---|---|---|---|
Цифровое | 10 бит | 12 бит | 14 бит |
Буквенно-цифровое | 9 бит | 11 бит | 13 бит |
Побайтовое | 8 бит | 16 бит | 16 бит |
Вся информация записывается в порядке <способ кодирования> <количество данных> <данные>, получается последовательность бит:
0100 00000110 11010000 10011100 11010000 10111000 11010001 10000000.
Разделение на блоки[править | править код]
Последовательность байт разделяется на определённое для версии и уровня коррекции количество блоков, которое приведено в таблице «Количество блоков». Если количество блоков равно одному, то этот этап можно пропустить. А при повышении версии — добавляются специальные блоки.
Сначала определяется количество байт (данных) в каждом из блоков. Для этого надо разделить всё количество байт на количество блоков данных. Если это число не целое, то надо определить остаток от деления. Этот остаток определяет, сколько блоков из всех дополнены (такие блоки, количество байт в которых больше на один, чем в остальных). Вопреки ожиданию, дополненными блоками должны быть не первые блоки, а последние. Затем идёт последовательное заполнение блоков.
Пример: для версии 9 и уровня коррекции M количество данных — 182 байта, количество блоков — 5. Поделив количество байт данных на количество блоков, получаем 36 байт и 2 байта в остатке. Это значит, что блоки данных будут иметь следующие размеры: 36, 36, 36, 37, 37 (байт). Если бы остатка не было, то все 5 блоков имели бы размер по 36 байт.
Блок заполняется байтами из данных полностью. Когда текущий блок полностью заполняется, очередь переходит к следующему. Байтов данных должно хватить ровно на все блоки, не больше и не меньше.
Создание байтов коррекции[править | править код]
Процесс основан на алгоритме Рида — Соломона. Он должен быть применён к каждому блоку информации QR-кода. Сначала определяется количество байт коррекции, которые необходимо создать, а затем, с ориентиром на эти данные, создаётся многочлен генерации. Количество байтов коррекции на один блок определятся по выбранной версии кода и уровню коррекции ошибок (приведено в таблице).
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | |
L | 7 | 10 | 15 | 20 | 26 | 18 | 20 | 24 | 30 | 18 | 20 | 24 | 26 | 30 | 22 | 24 | 28 | 30 | 28 | 28 | 28 | 28 | 30 | 30 | 26 | 28 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 |
M | 10 | 16 | 26 | 18 | 24 | 16 | 18 | 22 | 22 | 26 | 30 | 22 | 22 | 24 | 24 | 28 | 28 | 26 | 26 | 26 | 26 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 |
Q | 13 | 22 | 18 | 26 | 18 | 24 | 18 | 22 | 20 | 24 | 28 | 26 | 24 | 20 | 30 | 24 | 28 | 28 | 26 | 30 | 28 | 30 | 30 | 30 | 30 | 28 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 |
H | 17 | 28 | 22 | 16 | 22 | 28 | 26 | 26 | 24 | 28 | 24 | 28 | 22 | 24 | 24 | 30 | 28 | 28 | 26 | 28 | 30 | 24 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 |
По количеству байтов коррекции определяется генерирующий многочлен (приведено в таблице).
Количество байт коррекции | Генерирующий многочлен |
---|---|
7 | 87, 229, 146, 149, 238, 102, 21 |
10 | 251, 67, 46, 61, 118, 70, 64, 94, 32, 45 |
13 | 74, 152, 176, 100, 86, 100, 106, 104, 130, 218, 206, 140, 78 |
15 | 8, 183, 61, 91, 202, 37, 51, 58, 58, 237, 140, 124, 5, 99, 105 |
16 | 120, 104, 107, 109, 102, 161, 76, 3, 91, 191, 147, 169, 182, 194, 225, 120 |
17 | 43, 139, 206, 78, 43, 239, 123, 206, 214, 147, 24, 99, 150, 39, 243, 163, 136 |
18 | 215, 234, 158, 94, 184, 97, 118, 170, 79, 187, 152, 148, 252, 179, 5, 98, 96, 153 |
20 | 17, 60, 79, 50, 61, 163, 26, 187, 202, 180, 221, 225, 83, 239, 156, 164, 212, 212, 188, 190 |
22 | 210, 171, 247, 242, 93, 230, 14, 109, 221, 53, 200, 74, 8, 172, 98, 80, 219, 134, 160, 105, 165, 231 |
24 | 229, 121, 135, 48, 211, 117, 251, 126, 159, 180, 169, 152, 192, 226, 228, 218, 111, 0, 117, 232, 87, 96, 227, 21 |
26 | 173, 125, 158, 2, 103, 182, 118, 17, 145, 201, 111, 28, 165, 53, 161, 21, 245, 142, 13, 102, 48, 227, 153, 145, 218, 70 |
28 | 168, 223, 200, 104, 224, 234, 108, 180, 110, 190, 195, 147, 205, 27, 232, 201, 21, 43, 245, 87, 42, 195, 212, 119, 242, 37, 9, 123 |
30 | 41, 173, 145, 152, 216, 31, 179, 182, 50, 48, 110, 86, 239, 96, 222, 125, 42, 173, 226, 193, 224, 130, 156, 37, 251, 216, 238, 40, 192, 180 |
Расчёт производится исходя из значений исходного массива данных и значений генерирующего многочлена, причём для каждого шага цикла отдельно.
Объединение информационных блоков[править | править код]
На данном этапе имеется два готовых блока: исходных данных и блоков коррекции (из прошлого шага), их необходимо объединить в один поток байт. По очереди необходимо брать один байт информации из каждого блока данных, начиная от первого и заканчивая последним. Когда же очередь доходит до последнего блока, из него берётся байт и очередь переходит к первому блоку. Так продолжается до тех пор, пока в каждом блоке не закончатся байты. Есть исключения, когда текущий блок пропускается, если в нём нет байт (ситуация, когда обычные блоки уже пусты, а в дополненных ещё есть по одному байту). Так же поступается и с блоками байтов коррекции. Они берутся в том же порядке, что и соответствующие блоки данных.
В итоге получается следующая последовательность данных: <1-й байт 1-го блока данных><1-й байт 2-го блока данных>…<1-й байт n-го блока данных><2-й байт 1-го блока данных>…<(m — 1)-й байт 1-го блока данных>…<(m — 1)-й байт n-го блока данных><m-й байт k-го блока данных>…<m-й байт n-го блока данных><1-й байт 1-го блока байтов коррекции><1-й байт 2-го блока байтов коррекции>…<1-й байт n-го блока байтов коррекции><2-й байт 1-го блока байтов коррекции>…<l-й байт 1-го блока байтов коррекции>…<l-й байт n-го блока байтов коррекции>.
Здесь n — количество блоков данных, m — количество байтов на блок данных у обычных блоков, l — количество байтов коррекции, k — количество блоков данных минус количество дополненных блоков данных (тех, у которых на 1 байт больше).
Этап размещения информации на поле кода[править | править код]
На QR-коде есть обязательные поля, они не несут закодированной информации, а содержат информацию для декодирования. Это:
- Поисковые узоры
- Выравнивающие узоры
- Полосы синхронизации
- Код маски и уровня коррекции
- Код версии (с 7-й версии)
а также обязательный отступ вокруг кода. Отступ — это рамка из белых модулей, её ширина — 4 модуля.
Поисковые узоры — это 3 квадрата по углам кроме правого нижнего. Используются для определения расположения кода. Они состоят из квадрата 3×3 из чёрных модулей, вокруг рамка из белых модулей шириной 1, потом ещё одна рамка из чёрных модулей, так же шириной 1, и ограждение от остальной части кода — половина рамки из белых модулей шириной 1. Итого эти объекты имеют размер 8×8 модулей.
Выравнивающие узоры — появляются, начиная со второй версии, используются для дополнительной стабилизации кода, более точном его размещении при декодировании. Состоят они из 1 чёрного модуля, вокруг которого стоит рамка из белых модулей шириной 1, а потом ещё одна рамка из чёрных модулей, также шириной 1. Итоговый размер выравнивающего узора — 5×5. Стоят такие узоры на разных позициях в зависимости от номера версии. Выравнивающие узоры не могут накладываться на поисковые узоры. Ниже представлена таблица расположения центрального чёрного модуля, там указаны цифры — это возможные координаты, причём как по горизонтали, так и по вертикали. Эти модули стоят на пересечении таких координат. Отсчёт ведётся от верхнего левого узла, его координаты (0,0).
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
— | 18 | 22 | 26 | 30 | 34 | 6, 22, 38 | 6, 24, 42 | 6, 26, 46 | 6, 28, 50 | 6, 30, 54 | 6, 32, 58 | 6, 34, 62 | 6, 26, 46, 66 | 6, 26, 48, 70 | 6, 26, 50, 74 | 6, 30, 54, 78 | 6, 30, 56, 82 | 6, 30, 58, 86 | 6, 34, 62, 90 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
6, 28, 50, 72, 94 | 6, 26, 50, 74, 98 | 6, 30, 54, 78, 102 | 6, 28, 54, 80, 106 | 6, 32, 58, 84, 110 | 6, 30, 58, 86, 114 | 6, 34, 62, 90, 118 | 6, 26, 50, 74, 98, 122 | 6, 30, 54, 78, 102, 126 | 6, 26, 52, 78, 104, 130 | 6, 30, 56, 82, 108, 134 | 6, 34, 60, 86, 112, 138 | 6, 30, 58, 86, 114, 142 | 6, 34, 62, 90, 118, 146 | 6, 30, 54, 78, 102, 126, 150 | 6, 24, 50, 76, 102, 128, 154 | 6, 28, 54, 80, 106, 132, 158 | 6, 32, 58, 84, 110, 136, 162 | 6, 26, 54, 82, 110, 138, 166 | 6, 30, 58, 86, 114, 142, 170 |
Полосы синхронизации — используются для определения размера модулей. Располагаются они уголком, начинается одна от левого нижнего поискового узора (от края чёрной рамки, но переступив через белую), идёт до левого верхнего, а оттуда начинается вторая, по тому же правилу, заканчивается она у правого верхнего. При наслоении на выравнивающий модуль он должен остаться без изменений. Выглядят полосы синхронизации как линии чередующихся между собой чёрных и белых модулей.
Код маски и уровня коррекции — расположен рядом с поисковыми узорами: под правым верхним (8 модулей) и справа от левого нижнего (7 модулей), и дублируются по бокам левого верхнего, с пробелом на 7 ячейке — там, где проходят полосы синхронизации, причём горизонтальный код в вертикальную часть, а вертикальный — в горизонтальную.
Код версии — нужен для определения версии кода. Находятся слева от верхнего правого и сверху от нижнего левого, причём дублируются. Дублируются они так — зеркальную копию верхнего кода поворачивают против часовой стрелки на 90 градусов. Ниже представлена таблица кодов, 1 — чёрный модуль, 0 — белый.
Версия | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
Код версии | 000010 011110 100110 | 010001 011100 111000 | 110111 011000 000100 | 101001 111110 000000 | 001111 111010 111100 | 001101 100100 011010 | 101011 100000 100110 | 110101 000110 100010 | 010011 000010 011110 | 011100 010001 011100 | 111010 010101 100000 | 100100 110011 100100 | 000010 110111 011000 | 000000 101001 111110 | 100110 101101 000010 | 111000 001011 000110 | 011110 001111 111010 |
24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | |
001101 001101 100100 | 101011 001001 011000 | 110101 101111 011100 | 010011 101011 100000 | 010001 110101 000110 | 110111 110001 111010 | 101001 010111 111110 | 001111 010011 000010 | 101000 011000 101101 | 001110 011100 010001 | 010000 111010 010101 | 110110 111110 101001 | 110100 100000 001111 | 010010 100100 110011 | 001100 000010 110111 | 101010 000110 001011 | 111001 000100 010101 |
Занесение данных[править | править код]
Оставшееся свободным место делят на столбики шириной в 2 модуля и заносят туда информацию, причём делают это «змейкой». Сначала в правый нижний квадратик заносят первый бит информации, потом в его левого соседа, потом в тот, который был над первым и так далее. Заполнение столбцов ведётся снизу вверх, а потом сверху вниз и т. д., причём по краям заполнение битов ведётся от крайнего бита одного столбца до крайнего бита соседнего столбца, что задаёт «змейку» на столбцы с направлением вниз.
Если информации окажется недостаточно, то поля просто оставляют пустыми (белые модули). При этом на каждый модуль накладывается маска.
-
Описание полей QR-кода.
-
Код маски и уровня коррекции, возможные XOR-маски
-
-
-
8-цветный код JAB, содержащий текст «Добро пожаловать в Википедию, бесплатную энциклопедию, которую может редактировать каждый».
-
Примеры цветного двухмерного кода большой емкости (HCC2D): (a) 4-цветный код HCC2D и (b) 8-цветный код HCC2D.
-
Версия 1
-
Функциональные области QR-кода версии 1
-
Версия 40
-
IQR-код
См. также[править | править код]
- Q-код
- Сравнение характеристик штрихкодов
- Data Matrix
- Semacode
- PDF417
- Aztec Code
- Microsoft Tag
- QRpedia
- Перфокарта
Примечания[править | править код]
- ↑ Специалист по словообразованию М. А. Осадчий предлагает использовать в качестве русскоязычного эквивалента словосочетание «графический код»[2].
Литература[править | править код]
- Бугаев Л. Мобильный маркетинг. Как зарядить свой бизнес в мобильном мире. — М.: Альпина Паблишер, 2012. — 214 с. — ISBN 978-5-9614-2222-1.
- ГОСТ Р ИСО/МЭК 18004-2015 Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода QR Code
Ссылки[править | править код]
- Сайт компании Denso Wave, посвящённый QR-кодам (англ.)
Как правильно произносить QR-код: куир-код или куар-код? QR-код произносится как «кьюаркод».
Как придумали QR код?
Первую систему QR-кодов придумали в 1994 году специалисты японской компании Denso Wave, дочернего предприятия Toyota. На производстве потребовался способ точно отслеживать выпускаемые автомобили и детали к ним.
Как правильно Куар код или Кюар код?
Морфологические и синтаксические свойства
падеж | ед. ч. | мн. ч. |
---|---|---|
Им. | QR-ко́д | QR-ко́ды |
Р. | QR-ко́да | QR-ко́дов |
Д. | QR-ко́ду | QR-ко́дам |
В. | QR-ко́д | QR-ко́ды |
Что за QR код?
Что такое QR-код
Представляет собой товарный знак для двухмерных или матричных штрихов. Оптическая метка на изделие показывает всю информацию и считывается машиной. Для продуктивного хранения данных применяется четыре специальных режима, таких как: цифровой, буквенный, спаренный и кадзи.
Как правильно произносится слово Что?
Например, «что» — [што].
Как можно использовать QR код?
QR-коды используются в настоящее время практически во всех сферах жизнедеятельности: — с их помощью шифруются URL-адреса в интернете. Например, на уличных табличках, путеводителях, упаковке, рекламе. Это позволяет не вписывать полностью электронный адрес, а быстро его сканировать при помощи камеры.
Сколько хранится QR код?
Micro QR код, однако, неспособен хранить большой объем данных (максимум 35 цифр). Однако, из-за большей эффективности хранения данных, размер Micro QR кода увеличивается не столь значительно с увеличением объема закодированных данных, как традиционный QR код.
Как правильно называть Куар код?
QR-код (англ. Quick Response Code — код быстрого реагирования; сокр. QR code) — тип матричных штрихкодов (или двумерных штрихкодов), изначально разработанных для автомобильной промышленности Японии.
Как сканировать QR код с помощью мобильного телефона?
Откройте встроенное приложение камеры на совместимом телефоне или планшете Android. Наведите камеру на QR-код. Нажмите на баннер, который появится на экране. Следуйте инструкциям.
Что такое QR код и где его можно использовать?
Маленькая справка: QR-код- это матричный код (двумерный штрих-код), разработанный компанией «Denso Wave». … Возможность распознавания кодов сканирующим оборудованием делает их такими популярными в рекламе, торговле, производстве, логистике. В QR-код можно закодировать любую информацию, текст, URL.
Что делать если не считывается QR код?
Если телефон не читает QR-код даже с помощью специальной программы — убедитесь, что камера сфокусировалась на изображении (оно не размыто). Выберите оптимальное расстояние до кода и если в аппарате нет автофокусировки — помогите ему ручками.
Для чего нужен QR код на телефоне?
QR-коды это 2D коды, которые могут быть сканируемые Вашим мобильным телефоном. Это такой тип бар кода, который позволяет передать некоторую полезную информацию, например интернет-ссылку, контактные данные и т. … Инсталировать программу сканирования QR-кодов.
Как открыть QR код на андроид?
Как сканировать QR-коды на Android
- Откройте Play Маркет .
- Поиск считывателя QR-кода .
- Выберите QR Code Reader (через Scan).
- Нажмите «Установить».
- Откройте программу чтения QR-кода.
Как правильно произносится слово сегодня?
Слово «сегодня» пишется через согласную «г» — сегодня. Но произносится оно со звуком «в».
Как правильно читать Moschino?
Название бренда Marchesa стоит читать по итальянским правилам – «Маркеза», а не «Марчеза» по-английски, потому что компания получила свое имя в честь итальянской аристократки маркизы Луизы Казати. По тем же правилам читается название бренда Moschino – «Москино». Hermes — Эрмес — и никак иначе.
Как правильно произносится слово одновременно?
В дореволюционных словарях (словаре Даля, Долопчева) ударение стоит на третьем слоге — одноврЕменно. Ряд современных словарей также признает преимущество одноврЕменно (Словарь ударений русского языка М. В. Зарвы, Словарь образцового русского ударения М.
QR код — это монохромная картинка, на которой некоторые устройства (например смартфон со специальным приложением) распознают текст. Этим текстом может быть не только простая фраза, но и, хоть это и не входит в официальную спецификацию, ссылка, номер телефона или визитная карточка. Такие коды чаще всего используют, чтобы закодировать ссылку и распечатать её на плакате или визитке.
Эта статья — подробная инструкция по созданию QR кода с примерами на каждом шаге, которая требует от вас только базового умения работать с бинарными данными и владения любым языком программирования (если вы хотите создать автоматический генератор QR кода).
За основу этой статьи взят цикл статей «QR Code Demystified» Джейсона Брауна (Jason Brown). В этих статьях опущено много нюансов, что вызвало у меня некоторые проблемы. Все эти нюансы учтены и упомянуты здесь.
Процесс генерации QR кода делится на несколько чётких шагов:
- Кодирование данных.
- Добавление служебной информации и заполнения.
- Разделение информации на блоки.
- Создание байтов коррекции.
- Объединение блоков.
- Размещение информации на QR коде.
Кодирование данных
QR код поддерживает несколько способов кодирования данных, в зависимости от того, какие символы используются: цифровое, буквенно-цифровое, кандзи (китайско-японские иероглифы) и побайтовое кодирование. Цифровое кодирование подразумевает использования только цифр от 0 до 9, буквенно цифровое — прописные буквы латинского алфавита, цифры и символы $%*+-./: и пробел, кандзи я рассматривать не буду, а байты кодирования не требуют вообще. Сначала вам надо создать пустую последовательность бит, которая дальше будет заполняться.
Цифровое кодирование
Этот тип кодирования требует 10 бит на 3 символа. Вся последовательность символов разбивается на группы по 3 цифры, и каждая группа (трёхзначное число) переводится в 10-битное двоичное число и добавляется к последовательности бит. Если общее количество символов не кратно 3, то если в конце остаётся 2 символа, полученное двузначное число кодируется 7 битами, а если 1 символ, то 4 битами.
Например, есть строка «12345678», которую надо закодировать. Мы разбиваем её на числа: 123, 456 и 78, затем переводим каждое из них в двоичный вид: 0001111011, 0111001000 и 1001110, и объединяем это в один поток: 000111101101110010001001110.
Буквенно-цифровое кодирование
В этом случае на 2 символа требуется 11 бит информации. Входной поток символов разделяется на группы по 2, в группе каждый символ кодируется согласно таблице внизу, значение первого символа в группе умножается на 45 и прибавляется к значение второго символа. Полученное число переводится в 11-битное двоичное число и добавляется к последовательности бит. Если в последней группе 1 символ, то его значение сразу кодируется 6-битным числом и добавляется к последовательности бит.
Таблица 1. Значения символов в буквенно-цифровом кодировании.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T |
15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
U | V | W | X | Y | Z | Пробел | $ | % | * | + | — | . | / | : |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
Например, строка «HELLO» кодируется следующим образом. Разбиваем на группы: HE, LL, O; находим соответствующее значение символам в каждой группе: (17, 14), (21, 21), (24); находим значение для каждой группы: 17 * 45 + 14 = 779, 21 * 45 + 21 = 966, 24 = 24; переводим каждое значение в двоичный вид: 779 = 01100001011, 966 = 01111000110, 24 = 011000; и объединяем всё это в одну последовательность бит: 0110000101101111000110011000.
Побайтовое кодирование
Это универсальный способ кодирования, которым можно закодировать любые символы. Единственным недостатком метода является относительно низкая плотность информации. В этом случае текст кодируется в любой кодировке (рекомендуемо в UTF-8) и полученная последовательность байт берётся в неизменном виде.
Например, строка «Хабр», закодированния кодировкой UTF-8, состоит из следующих байт: 11010000, 10100101, 11010000, 10110000, 11010000, 10110001, 11010001 и 10000000. Их надо просто объединить в один поток бит: 1101000010100101110100001011000011010000101100011101000110000000.
Добавление служебной информации
На этом этапе надо определиться с уровнем коррекции: чем выше этот уровень, тем выше допустимый уровень повреждения изображения и тем меньше информации при равном размере. Всего есть 4 уровня корекции: L (допустимо максимум 7% повреждений), M (15%), Q (25%) и H (30%). Чаще всего используется уровень M. Если вы хотите добавить на QR код свой рисунок (на Хабре есть несколько статей на эту тему), то используйте уровень H.
Ещё одно свойство QR кода — его версия (чем она больше, тем больше размер). Всего существует 40 версий. Номер версии зависит от количества кодируемой информации и от уровня коррекции. В таблице 2 указано максимальное количество полезной информации вместе со служебной (в битах), которое можно закодировать в QR коде этой версии. Из этой таблицы определется версия нашего QR кода.
Таблица 2. Максимальное количество информации.
Строка — уровень коррекции, столбец — номер версии.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
L | 152 | 272 | 440 | 640 | 864 | 1088 | 1248 | 1552 | 1856 | 2192 |
M | 128 | 224 | 352 | 512 | 688 | 864 | 992 | 1232 | 1456 | 1728 |
Q | 104 | 176 | 272 | 384 | 496 | 608 | 704 | 880 | 1056 | 1232 |
H | 72 | 128 | 208 | 288 | 368 | 480 | 528 | 688 | 800 | 976 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |
L | 2592 | 2960 | 3424 | 3688 | 4184 | 4712 | 5176 | 5768 | 6360 | 6888 |
M | 2032 | 2320 | 2672 | 2920 | 3320 | 3624 | 4056 | 4504 | 5016 | 5352 |
Q | 1440 | 1648 | 1952 | 2088 | 2360 | 2600 | 2936 | 3176 | 3560 | 3880 |
H | 1120 | 1264 | 1440 | 1576 | 1784 | 2024 | 2264 | 2504 | 2728 | 3080 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | |
L | 7456 | 8048 | 8752 | 9392 | 10208 | 10960 | 11744 | 12248 | 13048 | 13880 |
M | 5712 | 6256 | 6880 | 7312 | 8000 | 8496 | 9024 | 9544 | 10136 | 10984 |
Q | 4096 | 4544 | 4912 | 5312 | 5744 | 6032 | 6464 | 6968 | 7288 | 7880 |
H | 3248 | 3536 | 3712 | 4112 | 4304 | 4768 | 5024 | 5288 | 5608 | 5960 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | |
L | 14744 | 15640 | 16568 | 17528 | 18448 | 19472 | 20528 | 21616 | 22496 | 23648 |
M | 11640 | 12328 | 13048 | 13800 | 14496 | 15312 | 15936 | 16816 | 17728 | 18672 |
Q | 8264 | 8920 | 9368 | 9848 | 10288 | 10832 | 11408 | 12016 | 12656 | 13328 |
H | 6344 | 6760 | 7208 | 7688 | 7888 | 8432 | 8768 | 9136 | 9776 | 10208 |
Добавление служебных полей
К этому моменту уже должен быть выбран уровень коррекции и определена версия. Теперь надо перед последоветельностью бит, полученной в предыдущем пункте, добавить в начале два поля: способ кодирования и количество данных. Способ кодирования — поле длиной 4 бита, которое имеет следующие значения: 0001 для цифрового кодирования, 0010 для буквенно-цифрового и 0100 для побайтового. Количество данных — это количество кодируемых символов, а для побайтового — количество байт (а не бит в полученной последовательности), представленное в виде двоичного числа определённой длины (определяется по таблице 3).
Таблица 3. Длина поля количества данных.
Версия 1–9 | Версия 10–26 | Версия 27–40 | |
Цифровое | 10 бит | 12 бит | 14 бит |
Буквенно-цифровое | 9 бит | 11 бит | 13 бит |
Побайтовое | 8 бит | 16 бит | 16 бит |
Например, дана строка длиной 100 байт, закодированная побайтово, уровень коррекции — M. Длина последовательности бит этой строки — 800 бит. Воспользовавшись таблицей 2 можно определить, что оптимальнее всего будет использовать 6-ю версию. Длина поля, определяющего количество данных в нашем случае — 8 бит (таблица 3). Поле, определяющее способ кодирование имеет вид 0100, поле количества данных — 01100100 (100 в двоичном виде). В итоге получится последовательность бит 010001100100<исходная последовательность>.
Если длина полученной последовательности бит оказалась больше допустимой для выбранной версии, то версию надо увеличить на одну и проделать добавление служебных полей заново.
Спецификация допускает использование смешанного кодирования. Это значит, что несколько групп данных можно закодировать разными способами и объединить их в одну последовательность. Это делается следующим образом: <способ кодирования данных 1><количество данных 1><данные 1><способ кодирования данных 2><количество данных 2><данные 2> и так далее.
Заполнение
На данном этапе у нас есть последовательность бит данных, количество бит в которой наверняка не кратно 8. Надо дополнить её нулями так, чтобы её длина стала кратна 8. Теперь нашу последовательность бит можно разбить на группы по 8 бит и представить в виде последовательности байт (далее мы так и будем делать). Если количество бит в текущей последовательности байт меньше того, которое нужно для выбранной версии, то её надо дополнить чередующимися байтами 11101100 и 00010001. Таким образом, у нас получилась последовательность байт, длина которой соответствует выбранной версии QR кода.
Пример. Есть последовательность: <последовательность бит, длина которой кратна 8> 10101011101; дополняем её нулями, чтобы её длина стала кратна 8: <последовательность бит, длина которой кратна 8> 10101011101 00000; теперь предположим, что её длина — 104 бита, а для выбранной версии необходимо 128 бит, тогда для заполнения нужно добавить 24 «заполняющих» бита (3 байта): <последовательность бит, длина которой кратна 8> 10101011101 00000 11101100 00010001 11101100. Готово.
Разделение информации на блоки
Последовательность байт, полученная на предыдущем этапе, (далее данные) разделяется на обределённое для версии и уровня коррекции количество блоков, которое приведено в таблице 4. Если количество блоков равно одному, то этот этап можно пропустить.
Таблица 4. Количество блоков.
Строка — уровень коррекции, столбец — номер версии.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
L | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 4 |
M | 1 | 1 | 1 | 2 | 2 | 4 | 4 | 4 | 5 | 5 |
Q | 1 | 1 | 2 | 2 | 4 | 4 | 6 | 6 | 8 | 8 |
H | 1 | 1 | 2 | 4 | 4 | 4 | 5 | 6 | 8 | 8 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |
L | 4 | 4 | 4 | 4 | 6 | 6 | 6 | 6 | 7 | 8 |
M | 5 | 8 | 9 | 9 | 10 | 10 | 11 | 13 | 14 | 16 |
Q | 8 | 10 | 12 | 16 | 12 | 17 | 16 | 18 | 21 | 20 |
H | 11 | 11 | 16 | 16 | 18 | 16 | 19 | 21 | 25 | 25 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | |
L | 8 | 9 | 9 | 10 | 12 | 12 | 12 | 13 | 14 | 15 |
M | 17 | 17 | 18 | 20 | 21 | 23 | 25 | 26 | 28 | 29 |
Q | 23 | 23 | 25 | 27 | 29 | 34 | 34 | 35 | 38 | 40 |
H | 25 | 34 | 30 | 32 | 35 | 37 | 40 | 42 | 45 | 48 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | |
L | 16 | 17 | 18 | 19 | 19 | 20 | 21 | 22 | 24 | 25 |
M | 31 | 33 | 35 | 37 | 38 | 40 | 43 | 45 | 47 | 49 |
Q | 43 | 45 | 48 | 51 | 53 | 56 | 59 | 62 | 65 | 68 |
H | 51 | 54 | 57 | 60 | 63 | 66 | 70 | 74 | 77 | 81 |
Определение количество байт в каждом блоке
Для этого надо разделить всё количество байт (можно определить количество байт в данных или разделить число из таблицы 2 на восемь) на количество блоков данных. Если это число не целое, то надо определить остаток от деления. Этот остаток определяет сколько блоков из всех дополнены (такие блоки, количество байт в которых больше на один чем в остальных). Вопреки ожиданию, дополненными блоками должны быть не первые блоки, а последние.
Например, для версии 9 и уровня коррекции M количестов данных — 182 байта, количество блоков — 5. Деля количество байт данных на количество блоков, получаем 36 байт и 2 байта в остатке. Это значит, что блоки данных будут иметь следующие размеры: 36, 36, 36, 37, 37 (байт). Если бы остатка не было, что все 5 блоков имели бы размер 36 байт.
Заполнение блоков
Блок заполняется байтами из данных полностью. Когда текущий блок полностью заполняется, очередь переходит к следующему. Байтов данных должно хватить ровно на все блоки, ни больше и ни меньше.
Создание байтов коррекции
Следующий алгоритм применяется к каждому блоку данных (если блок данных один, то просто к данным).
Этот алгоритм основан на алгоритме Рида–Соломона. Первое что надо сделать — определать сколько байтов коррекции надо создать (таблица 5). По количеству байтов коррекции определяется так называемый генерирующий многочлен (таблица 6). Многочленом он называется, потому что оригинальный метод использует многочлен с теми же коэффициентами.
Таблица 5. Количество байтов коррекции на один блок.
Строка — уровень коррекции, столбец — номер версии.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
L | 7 | 10 | 15 | 20 | 26 | 18 | 20 | 24 | 30 | 18 |
M | 10 | 16 | 26 | 18 | 24 | 16 | 18 | 22 | 22 | 26 |
Q | 13 | 22 | 18 | 26 | 18 | 24 | 18 | 22 | 20 | 24 |
H | 17 | 28 | 22 | 16 | 22 | 28 | 26 | 26 | 24 | 28 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |
L | 20 | 24 | 26 | 30 | 22 | 24 | 28 | 30 | 28 | 28 |
M | 30 | 22 | 22 | 24 | 24 | 28 | 28 | 26 | 26 | 26 |
Q | 28 | 26 | 24 | 20 | 30 | 24 | 28 | 28 | 26 | 30 |
H | 24 | 28 | 22 | 24 | 24 | 30 | 28 | 28 | 26 | 28 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | |
L | 28 | 28 | 30 | 30 | 26 | 28 | 30 | 30 | 30 | 30 |
M | 26 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 |
Q | 28 | 30 | 30 | 30 | 30 | 28 | 30 | 30 | 30 | 30 |
H | 30 | 24 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | |
L | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 |
M | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 | 28 |
Q | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 |
H | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 |
Таблица 6. Генирирующие многочлены.
Количество байтов коррекции | Генерирующий многочлен |
7 | 87, 229, 146, 149, 238, 102, 21 |
10 | 251, 67, 46, 61, 118, 70, 64, 94, 32, 45 |
13 | 74, 152, 176, 100, 86, 100, 106, 104, 130, 218, 206, 140, 78 |
15 | 8, 183, 61, 91, 202, 37, 51, 58, 58, 237, 140, 124, 5, 99, 105 |
16 | 120, 104, 107, 109, 102, 161, 76, 3, 91, 191, 147, 169, 182, 194, 225, 120 |
17 | 43, 139, 206, 78, 43, 239, 123, 206, 214, 147, 24, 99, 150, 39, 243, 163, 136 |
18 | 215, 234, 158, 94, 184, 97, 118, 170, 79, 187, 152, 148, 252, 179, 5, 98, 96, 153 |
20 | 17, 60, 79, 50, 61, 163, 26, 187, 202, 180, 221, 225, 83, 239, 156, 164, 212, 212, 188, 190 |
22 | 210, 171, 247, 242, 93, 230, 14, 109, 221, 53, 200, 74, 8, 172, 98, 80, 219, 134, 160, 105, 165, 231 |
24 | 229, 121, 135, 48, 211, 117, 251, 126, 159, 180, 169, 152, 192, 226, 228, 218, 111, 0, 117, 232, 87, 96, 227, 21 |
26 | 173, 125, 158, 2, 103, 182, 118, 17, 145, 201, 111, 28, 165, 53, 161, 21, 245, 142, 13, 102, 48, 227, 153, 145, 218, 70 |
28 | 168, 223, 200, 104, 224, 234, 108, 180, 110, 190, 195, 147, 205, 27, 232, 201, 21, 43, 245, 87, 42, 195, 212, 119, 242, 37, 9, 123 |
30 | 41, 173, 145, 152, 216, 31, 179, 182, 50, 48, 110, 86, 239, 96, 222, 125, 42, 173, 226, 193, 224, 130, 156, 37, 251, 216, 238, 40, 192, 180 |
Перед выполнением цикла надо подготовить массив, длина которого равна максимуму из количества байтов в текущем блоке и количества байтов коррекции, и заполнить его начало байтами из текущего блока, а конец нулями.
Цикл, описанный в этом списке, повторяется столько раз, сколько байтов данных содержится в текущем блоке.
- Берём первый элемент массива, сохраняем его значение в переменной А и удаляем его из массива (все следующие значения сдвигаются на одну ячейку влево, последний элемент заполняется нулём).
- Если А равно нулю, то пропустить следующие действия (до конца списка) и перейти к следующей итерации цикла.
- Находим соответствующее числу А число в таблице 8, заносим его в переменную Б.
- Далее для N первых элементов, где N — количество байтов коррекции, i — счётчик цикла:
- К i-му значению генерирующего многочлена надо прибавить значение Б и записать эту сумму в переменную В (сам многочлен не изменять).
- Если В больше 254, надо использовать её остаток при делении на 255 (именно 255, а не 256).
- Найти соответствующее В значение в таблице 7 и произвести опеацию побитового сложения по модулю 2 (XOR, во многих языках программирования оператор ^) с i-м значением подготовленного массива и записать полученное значение в i-ю ячейку подготовленного массива.
Первые N байтов подготовленного массива после этого цикла — и есть байты коррекции. Для каждого блока данных получится соответствующий блок байтов коррекции.
Ничего не понятно? Мне тоже. Посмотрите на пример и всё станет ясно.
Таблица 7. Поле Галуа.
Эта таблица — значения для поля Галуа длиной 256. Она может быть вычеслена автоматически.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 29 | 58 | 116 | 232 | 205 | 135 | 19 | 38 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
76 | 152 | 45 | 90 | 180 | 117 | 234 | 201 | 143 | 3 | 6 | 12 | 24 | 48 | 96 | 192 |
32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
157 | 39 | 78 | 156 | 37 | 74 | 148 | 53 | 106 | 212 | 181 | 119 | 238 | 193 | 159 | 35 |
48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
70 | 140 | 5 | 10 | 20 | 40 | 80 | 160 | 93 | 186 | 105 | 210 | 185 | 111 | 222 | 161 |
64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
95 | 190 | 97 | 194 | 153 | 47 | 94 | 188 | 101 | 202 | 137 | 15 | 30 | 60 | 120 | 240 |
80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 |
253 | 231 | 211 | 187 | 107 | 214 | 177 | 127 | 254 | 225 | 223 | 163 | 91 | 182 | 113 | 226 |
96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 |
217 | 175 | 67 | 134 | 17 | 34 | 68 | 136 | 13 | 26 | 52 | 104 | 208 | 189 | 103 | 206 |
112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 |
129 | 31 | 62 | 124 | 248 | 237 | 199 | 147 | 59 | 118 | 236 | 197 | 151 | 51 | 102 | 204 |
128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 |
133 | 23 | 46 | 92 | 184 | 109 | 218 | 169 | 79 | 158 | 33 | 66 | 132 | 21 | 42 | 84 |
144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 |
168 | 77 | 154 | 41 | 82 | 164 | 85 | 170 | 73 | 146 | 57 | 114 | 228 | 213 | 183 | 115 |
160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 |
230 | 209 | 191 | 99 | 198 | 145 | 63 | 126 | 252 | 229 | 215 | 179 | 123 | 246 | 241 | 255 |
176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 |
227 | 219 | 171 | 75 | 150 | 49 | 98 | 196 | 149 | 55 | 110 | 220 | 165 | 87 | 174 | 65 |
192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 |
130 | 25 | 50 | 100 | 200 | 141 | 7 | 14 | 28 | 56 | 112 | 224 | 221 | 167 | 83 | 166 |
208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 |
81 | 162 | 89 | 178 | 121 | 242 | 249 | 239 | 195 | 155 | 43 | 86 | 172 | 69 | 138 | 9 |
224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 |
18 | 36 | 72 | 144 | 61 | 122 | 244 | 245 | 247 | 243 | 251 | 235 | 203 | 139 | 11 | 22 |
240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 |
44 | 88 | 176 | 125 | 250 | 233 | 207 | 131 | 27 | 54 | 108 | 216 | 173 | 71 | 142 | 1 |
Таблица 8. Обратное поле Галуа.
Эту таблицу можно вычислить из таблицы 7.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
— | 0 | 1 | 25 | 2 | 50 | 26 | 198 | 3 | 223 | 51 | 238 | 27 | 104 | 199 | 75 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
4 | 100 | 224 | 14 | 52 | 141 | 239 | 129 | 28 | 193 | 105 | 248 | 200 | 8 | 76 | 113 |
32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
5 | 138 | 101 | 47 | 225 | 36 | 15 | 33 | 53 | 147 | 142 | 218 | 240 | 18 | 130 | 69 |
48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
29 | 181 | 194 | 125 | 106 | 39 | 249 | 185 | 201 | 154 | 9 | 120 | 77 | 228 | 114 | 166 |
64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
6 | 191 | 139 | 98 | 102 | 221 | 48 | 253 | 226 | 152 | 37 | 179 | 16 | 145 | 34 | 136 |
80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 |
54 | 208 | 148 | 206 | 143 | 150 | 219 | 189 | 241 | 210 | 19 | 92 | 131 | 56 | 70 | 64 |
96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 |
30 | 66 | 182 | 163 | 195 | 72 | 126 | 110 | 107 | 58 | 40 | 84 | 250 | 133 | 186 | 61 |
112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 |
202 | 94 | 155 | 159 | 10 | 21 | 121 | 43 | 78 | 212 | 229 | 172 | 115 | 243 | 167 | 87 |
128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 |
7 | 112 | 192 | 247 | 140 | 128 | 99 | 13 | 103 | 74 | 222 | 237 | 49 | 197 | 254 | 24 |
144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 |
227 | 165 | 153 | 119 | 38 | 184 | 180 | 124 | 17 | 68 | 146 | 217 | 35 | 32 | 137 | 46 |
160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 |
55 | 63 | 209 | 91 | 149 | 188 | 207 | 205 | 144 | 135 | 151 | 178 | 220 | 252 | 190 | 97 |
176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 |
242 | 86 | 211 | 171 | 20 | 42 | 93 | 158 | 132 | 60 | 57 | 83 | 71 | 109 | 65 | 162 |
192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 |
31 | 45 | 67 | 216 | 183 | 123 | 164 | 118 | 196 | 23 | 73 | 236 | 127 | 12 | 111 | 246 |
208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 |
108 | 161 | 59 | 82 | 41 | 157 | 85 | 170 | 251 | 96 | 134 | 177 | 187 | 204 | 62 | 90 |
224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 |
203 | 89 | 95 | 176 | 156 | 169 | 160 | 81 | 11 | 245 | 22 | 235 | 122 | 117 | 44 | 215 |
240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 |
79 | 174 | 213 | 233 | 230 | 231 | 173 | 232 | 116 | 214 | 244 | 234 | 168 | 80 | 88 | 175 |
Пример. Здесь все байты я буду представлять в виде десятичных чисел от 0 до 255. Исходный блок данных:
64 196 132 84 196 196 242 194 4 132 20 37 34 16 236 17
Используется 2-я версия с уровнем коррекции H. В этом случае надо создать 28 байтов коррекции (таблица 5) и использовать генерирующий многочлен (таблица 6):
168 223 200 104 224 234 108 180 110 190 195 147 205 27 232 201 21 43 245 87 42 195 212 119 242 37 9 123
Создадим массив (подготовленный массив) на 28 элементов и заполним его байтами данных:
64 196 132 84 196 196 242 194 4 132 20 37 34 16 236 17 0 0 0 0 0 0 0 0 0 0 0 0
Я подробно распишу первый шаг цикла, остальные в виде готового массива. Первый элемент массива — 64. Убираем его из подготовленного массива:
196 132 84 196 196 242 194 4 132 20 37 34 16 236 17 0 0 0 0 0 0 0 0 0 0 0 0 0
В таблице 8 находим ему соответствие — 6; прибавляем по модулю 255 это число к каждому числу генерирующего многочлена:
174 229 206 110 230 240 114 186 116 196 201 153 211 33 238 207 27 49 251 93 48 201 218 125 248 43 15 129
Для каждого числа гененирующего многочлена находим соответствие в таблице 7:
241 122 83 103 244 44 62 110 248 200 56 146 178 39 11 166 12 140 216 182 70 56 43 51 27 119 38 23
И почленно производим операцию побитового сложения по модулю 2 с подготовленным массивом:
53 254 7 163 48 222 252 106 124 220 29 176 162 203 26 166 12 140 216 182 70 56 43 51 27 119 38 23
Повторяем эти действия 16 раз (16 байт данных). В итоге получатся следующие байты коррекции:
16 85 12 231 54 54 140 70 118 84 10 174 235 197 99 218 12 254 246 4 190 56 39 217 115 189 193 24
Все шаги создание байтов коррекции в примере.
53 254 7 163 48 222 252 106 124 220 29 176 162 203 26 166 12 140 216 182 70 56 43 51 27 119 38 23
88 135 181 100 195 209 67 42 120 103 75 204 49 123 234 32 53 11 134 32 223 208 235 172 113 56 81 191
190 23 10 28 136 239 91 71 190 168 253 92 58 109 11 233 139 182 213 21 200 218 171 107 5 152 211 189
228 45 104 109 161 181 177 87 87 252 124 67 75 80 92 99 7 5 181 129 178 139 129 144 140 151 52 165
2 255 79 129 134 24 109 176 20 223 154 13 100 152 14 67 222 187 27 207 140 88 143 56 195 45 52 143
26 93 185 156 60 134 13 37 17 219 197 54 203 22 176 174 81 245 0 114 47 71 202 248 80 160 251 151
112 115 153 158 15 102 215 113 52 175 247 102 182 8 125 91 147 82 144 173 110 11 38 66 251 209 169 61
15 78 183 5 213 230 209 248 21 105 76 199 65 7 16 193 91 121 47 32 241 12 49 154 134 191 143 94
51 192 177 158 8 129 60 20 94 56 225 203 4 84 213 46 160 232 158 78 225 23 7 180 97 14 53 7
84 7 192 114 240 49 231 91 211 88 117 156 91 156 106 28 114 98 50 152 105 185 103 155 143 138 221 27
90 14 140 115 176 11 131 74 31 13 39 199 42 189 39 147 164 92 245 157 142 220 138 15 164 75 82 232
210 60 37 117 118 196 134 17 26 133 62 21 175 184 75 8 54 43 167 186 179 115 250 133 11 15 240 42
172 41 101 21 220 18 111 12 96 8 155 252 130 250 45 22 214 227 54 41 81 116 201 160 144 41 179 98
68 192 132 243 69 97 198 45 7 233 26 3 45 174 155 233 187 43 112 69 244 47 123 251 143 183 24 254
230 218 208 22 221 33 116 11 144 80 182 27 186 140 25 253 238 61 30 163 135 206 41 202 86 90 48 36
16 85 12 231 54 54 140 70 118 84 10 174 235 197 99 218 12 254 246 4 190 56 39 217 115 189 193 24
Объединение блоков
У нас имеется несколько блоков данных и столько же блоков байтов коррекции, их надо объединить в один поток байт. Делается это следующим образом: из каждого блока данных по очереди берётся один байт информации, когда очередь доходит до последнего блока, из него берётся байт и очередь переходит к первому блоку. Так продолжается до тех пор, пока в каждом блоке не кончатся байты. Если в текущем блоке уже нет байт, то он пропускается (такое происходит, когда обычные блоки уже пусты, а в дополненных ещё есть по одному байту). Аналогичным образом надо сделать с блоками байтов коррекции. Они берутся в том же порядке, что и соответствующие блоки данных.
В итоге должно получиться что-то подобное: <1-й байт 1-го блока данных><1-й байт 2-го блока данных>…<1-й байт n-го блока данных><2-й байт 1-го блока данных>…<(m — 1)-й байт 1-го блока данных>…<(m — 1)-й байт n-го блока данных><m-й байт k-го блока данных>…<m-й байт n-го блока данных><1-й байт 1-го блока байтов коррекции><1-й байт 2-го блока байтов коррекции>…<1-й байт n-го блока байтов коррекции><2-й байт 1-го блока байтов коррекции>…<l-й байт 1-го блока байтов коррекции>…<l-й байт n-го блока байтов коррекции>. Здесь n — количество блоков данных, m — количество байтов на блок данных у обычных блоков, l — количество байтов коррекции, k — количество блоков данных минус количество дополненных блоков данных (тех, у которых на 1 байт больше).
Размещение информации на QR коде
У нас есть последовательность байт, которая готова для того, чтобы её поместили на холст. Холст состоит из модулей — элементарных квадратов.
Базовые элементы
Размер QR кода зависит только от версии. Для первой версии это 21 модуль, а размеры старших версий определяются из таблицы 9. Вобще в ней указаны места расположения выравнивающих узоров (об этом чуть позже), но размер холста можно определить как последнее число + 7 модулей. Хочу обратить ваше внимание, что отступ, рамка из белых модулей шириной 4 модуля, — полноценная часть QR кода, и её нельзя не учитывать. Несмотря на это, я указываю высоту ширину именно части с чёрными модулями и начинаю отчёт с её верхнего левого угла ((0, 0) — верхний левый модуль верхнего левого поискового узора).
Таблица 9. Расположение выравнивающих узоров.
Верхняя строка — номер версии.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
— | 18 | 22 | 26 | 30 | 34 | 6, 22, 38 | 6, 24, 42 |
9 | 10 | 11 | 12 | 13 |
6, 26, 46 | 6, 28, 50 | 6, 30, 54 | 6, 32, 58 | 6, 34, 62 |
14 | 15 | 16 | 17 | 18 |
6, 26, 46, 66 | 6, 26, 48, 70 | 6, 26, 50, 74 | 6, 30, 54, 78 | 6, 30, 56, 82 |
9 | 20 | 21 | 22 | 23 |
6, 30, 58, 86 | 6, 34, 62, 90 | 6, 28, 50, 72, 94 | 6, 26, 50, 74, 98 | 6, 30, 54, 78, 102 |
24 | 25 | 26 | 27 | 28 |
6, 28, 54, 80, 106 | 6, 32, 58, 84, 110 | 6, 30, 58, 86, 114 | 6, 34, 62, 90, 118 | 6, 26, 50, 74, 98, 122 |
29 | 30 | 31 | 32 |
6, 30, 54, 78, 102, 126 | 6, 26, 52, 78, 104, 130 | 6, 30, 56, 82, 108, 134 | 6, 34, 60, 86, 112, 138 |
33 | 34 | 35 | 36 |
6, 30, 58, 86, 114, 142 | 6, 34, 62, 90, 118, 146 | 6, 30, 54, 78, 102, 126, 150 | 6, 24, 50, 76, 102, 128, 154 |
37 | 38 | 39 | 40 |
6, 28, 54, 80, 106, 132, 158 | 6, 32, 58, 84, 110, 136, 162 | 6, 26, 54, 82, 110, 138, 166 | 6, 30, 58, 86, 114, 142, 170 |
Поисковые узоры
Это узоры, которые представляют из себя чёрный квадрат размером 3 на 3 модуля, который окружён рамкой из белых модулей, которая окружена рамкой из чёрных модулей, которая окружена рамкой из белых модулей только с тех сторон, где нет отступа. Поисковые узоры располагаются в верхних и левых углах (всего 3).
Выравнивающие узоры
Используются начиная с 2-й версии, представляют из себя чёрный квадрат размером 1 на 1 модуль, который окружён рамкой из белых модулей, которая окружена рамкой из чёрных модулей, в итоге этот узор имеет размер 5 на 5. Места, где располагаются выравнивающие узоры, указаны в таблице 9. Точнее там указаны узлы сетки по вертикали и горизонтали, где располагаются центральные модули узоров. Например, если в таблице написано 6, 22, 38, это значит, что центры модулей должны располагаться в следующих точках: (6, 6), (6, 22), (6, 38), (22, 6), (22, 22), (22, 38), (38, 6), (38, 22), (38, 38). Есть одно важное условие: выравнивающие узоры не должны наслаиваться на поисковые узоры. То есть, когда версия больше 6, в точках (первая, первая), (первая, последняя) и (последняя, первая) выравнивающих узоров не должно быть. В нашем примере это (6, 6), (6, 38) и (38, 6).
Полосы синхронизации
Здесь всё просто. Полосы начинаются от самого нижнего правого чёрного модуля верхнего левого поискового узора и идут, чередуя чёрные и белые модули, вниз и вправо до противоположных поисковых узоров. При наслоении на выравнивающий узор он должен остаться без изменений.
Код версии
Эти элементы используются начиная с 7-й версии. Код версии дублируется в 2-х местах, причём зеркально, то есть указав цвет модуля в координатах (x, y), можно смело указывать такой же цвет в координатах (y, x). Модули в этих местах выстраиваются согласно рисунку ниже и таблице 10 (1 — чёрный, 0 — белый).
Таблица 10. Коды версий.
Версия | Код версии |
7 | 000010 011110 100110 |
8 | 010001 011100 111000 |
9 | 110111 011000 000100 |
10 | 101001 111110 000000 |
11 | 001111 111010 111100 |
12 | 001101 100100 011010 |
13 | 101011 100000 100110 |
14 | 110101 000110 100010 |
15 | 010011 000010 011110 |
16 | 011100 010001 011100 |
17 | 111010 010101 100000 |
18 | 100100 110011 100100 |
19 | 000010 110111 011000 |
20 | 000000 101001 111110 |
21 | 100110 101101 000010 |
22 | 111000 001011 000110 |
23 | 011110 001111 111010 |
24 | 001101 001101 100100 |
25 | 101011 001001 011000 |
26 | 110101 101111 011100 |
27 | 010011 101011 100000 |
28 | 010001 110101 000110 |
29 | 110111 110001 111010 |
30 | 101001 010111 111110 |
31 | 001111 010011 000010 |
32 | 101000 011000 101101 |
33 | 001110 011100 010001 |
34 | 010000 111010 010101 |
35 | 110110 111110 101001 |
36 | 110100 100000 001111 |
37 | 010010 100100 110011 |
38 | 001100 000010 110111 |
39 | 101010 000110 001011 |
40 | 111001 000100 010101 |
Код маски и уровня коррекции
Этот код, так же как и предыдущий, дублируется в 2-х местах: рядом с верхним левым поисковым узором и рядом с нижним и правым поисковыми узорами (элемент терпит разрыв). В нём особым образом зашифрованы код маски (об этом чуть позже) и код уровня коррекции. Готовые коды приведены в таблице 11. Маска определяется на самом последнем шаге, когда всё остальное свободное пространство заполняется данными. Из за того, что маска выбирается на основе лучшего варианта (для этого надо перебрать все маски), к добавлению кода маски и уровня коррекции придётся не раз возвращаться. Пока что не добавляйте этот элемент. На рисунке изображено где именно и в каком направлении выстраиваются модули этого элемента, а также красным отмечен модуль, который всегда чёрный.
Таблица 11. Коды маски и уровня коррекции.
Уровень коррекции | Код маски | Код |
L | 0 | 111011111000100 |
L | 1 | 111001011110011 |
L | 2 | 111110110101010 |
L | 3 | 111100010011101 |
L | 4 | 110011000101111 |
L | 5 | 110001100011000 |
L | 6 | 110110001000001 |
L | 7 | 110100101110110 |
M | 0 | 101010000010010 |
M | 1 | 101000100100101 |
M | 2 | 101111001111100 |
M | 3 | 101101101001011 |
M | 4 | 100010111111001 |
M | 5 | 100000011001110 |
M | 6 | 100111110010111 |
M | 7 | 100101010100000 |
Q | 0 | 011010101011111 |
Q | 1 | 011000001101000 |
Q | 2 | 011111100110001 |
Q | 3 | 011101000000110 |
Q | 4 | 010010010110100 |
Q | 5 | 010000110000011 |
Q | 6 | 010111011011010 |
Q | 7 | 010101111101101 |
H | 0 | 001011010001001 |
H | 1 | 001001110111110 |
H | 2 | 001110011100111 |
H | 3 | 001100111010000 |
H | 4 | 000011101100010 |
H | 5 | 000001001010101 |
H | 6 | 000110100001100 |
H | 7 | 000100000111011 |
Добавление данных
Всё оставшееся свободное пространство на холсте разбивается на столбики: каждые 2 модуля, не важно что находится в этих модулях, кроме вертикильной полосы синхронизации, которая просто пропускается. Заполнение начинается с правого нижнего угла, идёт в пределах столбика справа налево, снизу вверх. Если текущий модуль занят (например полосой синхронизации или выравнивающим узором), то он просто пропускается. Если достигнут верх столбика, то движение продолжается с верхнего правого угла столбика, который расположен левее, и идёт сверху вниз. Достигнув низа, движение продолжается от нижнего правого угла столбика, который расположен левее, и идёт снизу вверх. И так далее, пока всё свободное пространство не будет заполнено.
Заполнение происходит бит за битом из байтов данных, при этом 1 это чёрный модуль, а 0 — белый. Если данных не хватает, то оставшееся пространство заполняется нулевыми модулями.
При этом на каждый модуль накладывается одна из масок. Всего масок 8 штук (от 0 до 7), их список в таблице 12. Если выражение из таблицы равно нулю, то цвет модуля инвертируется, иначе остаётся неизменным. Маска применяется только к модулям данных.
Таблица 12. Маски.
X — столбец, Y — строка, % — остаток от деления, / — целочисленное деление.
Номер маски | Маска |
0 | (X+Y) % 2 |
1 | Y % 2 |
2 | X % 3 |
3 | (X + Y) % 3 |
4 | (X/3 + Y/2) % 2 |
5 | (X*Y) % 2 + (X*Y) % 3 |
6 | ((X*Y) % 2 + (X*Y) % 3) % 2 |
7 | ((X*Y) % 3 + (X+Y) % 2) % 2 |
Маска выбирается по разному: некоторые всегда используют одну и ту же, другие каждый раз случайную, но спецификация настаивает, чтобы каждая маска оценивалась и выбиралась самая оптимальная. Способ с оценкой требует больше времени, но нет ничего страшного, если будет выбрана не оптимальная маска, поэтому не обязательно использовать именно его, но я всё равно расскажу о нём. От выбранной маски зависит код маски и уровня коррекции (см. выше), сейчас самое время добавить этот элемент.
Выбор лучшей маски
Эта часть не обязательна, и, если вы уже определились с выбором маски и добавили на холст данные, ваш QR код готов.
Суть этой процедуры заключается в том, чтобы сгенерировать QR код с каждой из восьми масок, начислить каждой штрафные очки по определённым правилам и выбрать маску с наименьшим количеством очков. Помните, что вместе с данными, на холст заново добавляется элемент кода маски и уровня коррекции.
Правило 1
По горизонтали и вертикали за каждые 5 и больше идущих подряд модулей одного цвета начисляется количество очков, равное длине этого участка минус 2. В этом и во всех остальных правилах отступ не рассматривается, всё ограничивается основным полем.
Правило 2
За каждый квадрат модулей одного цвета размером 2 на 2 начисляется по 3 очка.
Правило 3
За каждую последовательность модулей ЧБЧЧЧБЧ, с 4-мя белыми модулями с одной из сторон (или с 2-х сразу), добавляется 40 очков (по вертикали или горизонтали). Проще говоря, за эти элементы:
В нашем примере всего 3 таких элемента, за что он получает 120 дополнительных очков (не обязательно эти элементы должны пересекаться с поисковым узором):
Правило 4
Количество очков на этом шаге зависит от соотношения количества чёрных и белых модулей. Чем ближе оно к соотношению 50% на 50%, тем лучше. Первое что надо сделать — поделить количество чёрных модулей на общее количество модулей (опять же, отступ не считается).
203 / 441 = 0.46032
Далее умножить полученный результат на 100 и отнять 50.
0.46032 * 100 - 50 = -3.986
Отбросить десятичную часть и взять число по модулю.
-3.986 -> 3
Умножить полученное число на 2.
3 * 2 = 6
Прибавить это число к общему количеству штрафных очков.
Итог
В конце концов для каждой маски вы получите своё количество штрафных баллов, вам останется только выбрать ту, у которых этих баллов меньше, и ваш QR код полностью готов. Как показывает практика, чем ниже номер маски, тем больше вероятность того, что она окажется лучшей, поэтому для оптимизации можно выбирать лучшую маску не из всех, а, например, из 4-х.
Статьи, взятые за основу
- QR Code Demystified — Part 1
- QR Code Demystified — Part 2
- QR Code Demystified — Part 3
- QR Code Demystified — Part 4
- QR Code Demystified — Part 5
- QR Code Demystified — Part 6
С приходом пандемии COVID-19 в Россию лексикон многих россиян пополнился новыми, доселе не знакомыми для них, словами. Такие лексемы как «штамм», «QR-код», «двухфакторная вакцинация», «COVID-19» и другие аналоги вошли в наш будничный обиход, и ныне их часто можно услышать по телевизору и радио, найти в тексте новостной статьи или встретить в бытовом разговоре. Но как это часто бывает, порой новомодные слова произносятся неправильно, или не с тем смыслом, который изначально в них закладывался. Такая ситуация случилась и с «QR-кодом», который часто произносится неверно. Как же правильно говорить куар, кьюар или пиар код, важна ли разница в произношении, и что при этом стоит учитывать? Расскажем в нашем материале.
- Что нужно знать об QR-коде?
- Как правильно произносить QR-код: куар, кюар, кьюар или пиар код
- Где можно услышать как QR-код произносится правильно
- Как правильно писать куар, кьюар или кюар
- Где получить и как использовать QR-код
- Заключение
Что нужно знать об QR-коде?
QR-код – это матричный штрихкод в виде квадрата, в котором с помощью маленьких точек-квадратов размещена какая-либо информация. Особенности строения куар кода позволяют считывать его по горизонтали и вертикали. А также хранить в нём достаточный объём данных для многих задач, выполнять быстрое распознавание кода, избегать ошибок при сканировании.
Первоначально данный код использовался в автомобильной промышленности специалистами японской компании «Denso Wave», позволяя эффективно отслеживать выпускаемые компанией автомобили и комплектующие. Позже компания «Denso Wave» отказалась от патентных прав на своё изобретение, и удобство QR-кодов было по достоинству оценено в других отраслях. Ныне мы можем встретить QR-коды во многих областях и сферах человеческой жизнедеятельности, включая розничные продажи, медицину, общепит и другие.
Приход пандемии коронавируса значительно повысил частоту использования QR-кодов. Последние стали обязательным атрибутом множества медицинских документов, связанных с вакцинацией от коронавируса и выполнением различных ковид-тестов. Сертификаты вакцинации и паспорта здоровья, ПЦР-тесты, клинические рекомендации и другие медицинские документы по всему миру часто сопровождаются QR-кодом. Последний позволяет проверить статус такого документа, и получить дополнительную информацию о его владельце.
Массовое задействование QR-кодов в России пришлось на лето 2021 года, когда власти Москвы борясь с очередной вспышкой заболеваемости коронавирусом, ввели обязательные QR-коды для посещения развлекательных заведений. И несмотря на то, что через несколько недель ограничения были сняты, с очередным всплеском заболеваемости КОВИД-19 в России они вернулись вновь. Использование QR-кодов в большинстве регионов России стало повсеместным.
Как правильно произносить QR-код: куар, кюар, кьюар или пиар код
Массовость использования QR-кодов очень быстро привела к довольно большой разнице прочтения и кириллического написания этой англоязычной аббревиатуры. Мы можем встретить такие варианты прочтения и написания как «куар код», «кюар код», «кьюар код», «пиар код», «киар код», «пуар код» и «куэр код». Каждый пишет данное слово по-своему, склоняет на свой собственный лад, чем вносит элемент путаницы в общение.
Так как же правильно читается данное слово? Давайте сначала определимся с сокращениями. Буквы «QR» — это сокращение от английского «Quick Responce» (быстрый ответ).
Соответственно, предлагаем читать данную англоязычную аббревиатуру по буквам:
Q – «кью»
R – «ар»
Соответственно, «QR-код» правильно произносится как «кьюар код».
Где можно услышать как QR-код произносится правильно
В сети имеются различные ресурсы, позволяющие услышать, как кьюар код правильно говорить на английском языке. В частности, предлагаем послушать его произношение на сайтах ru.forvo.com и dictionary.cambridge.org. Здесь приводится произношение данного слова в двух вариациях – на оригинальном английском и американском варианте английского языка. Достаточно перейти на один из таких сайтов, и кликнуть (тапнуть) на значок динамика. Вы услышите как звучит данная аббревиатура на нативном английском.
Как правильно писать куар, кьюар или кюар
В письме лучше всего использовать традиционное написание «QR-код». Если решили использовать кириллический вариант написания, тогда правильное написание будет выглядеть как «кьюар код». Допустимо также близкое по слышимости написание «куар код».
Будет неправильным использование существенно отличающихся написаний – «пуар код», «пиар код» «пуэр код», «куэр код» и других далёких от правильного произношения аналогов.
Где получить и как использовать QR-код
В России кьюар код является обязательным атрибутом электронной версии сертификата привитого, переболевшего, а также негативного результата ПЦР-теста. Такой код обычно поступает в приватный кабинет человека на сервисе Госуслуг, где его можно просмотреть и скачать к себе на телефон.
- Обычно данный сертификат с куар кодом можно найти, перейдя на страницу https://www.gosuslugi.ru/10600/1.
- Открыв данный сертификат, вы увидите внизу кликабельную надпись «Скачать сертификат в ПДФ».
- Кликнув на неё, вы сможете загрузить данный сертификат с кьюар кодом на ваш PC или смартфон.
Для использования кьюар кода будет необходимо открыть его на экране вашего смартфона (или заранее распечатать на листе бумаги и показать данный лист проверяющему). Обычно кьюар код демонстрируется вместе с паспортом – это позволяет сравнить данные, полученные при сканировании кода, с паспортными данными для выявления подделок. Если данные совпадут – посетитель будет пропущен в заведении. В случае подлога и использования фиктивного куар кода человек может быть оштрафован.
Если же сертификат не поступил в ваш приватный кабинет на Госуслугах, проверьте статус вашей учётной записи на данном государственном ресурсе (она должна быть подтверждённой). Также убедитесь, верно ли внесла медицинская организация, в которой вы проходили вакцинацию, ваши данные в регистр вакцинированных.
Это полезно знать: как получить кьюар код при медотводе.
Заключение
В нашем материале мы разобрали правильное произношение «QR-код» — куар, кьюар, кюар или пиар код, как правильно произносится англоязычный вариант, и каково корректное написание данного слова. Избегайте неверного написания данного слова, а лучше всего используйте традиционное написание — «QR-код». Это поможет избежать двусмысленностей и недопонимания в общении, и обсудить интересующий вас вопрос по тематике кьюар кодов без каких-либо сложностей и затруднений.