Han Xin code (汉信码 in Chinese, Chinese-sensible code) is two-dimensional (2D) matrix barcode symbology invented in 2007[1] by Chinese company The Article Numbering Center of China[2] (中国物品编码中心 in Chinese) to break monopoly of QR code. As QR code, Han Xin code consists of black squares and white square spaces arranged in a square grid on a white background. It has four finder patterns and other markers which allow to recognize it with camera-based readers. Han Xin code contains Reed–Solomon error correction with ability to read corrupted images. At this time, it is issued as ISO/IEC 20830:2021.[3]
The main advantage (and invention requirement), comparable to QR code, is an embedded ability to natively encode Chinese characters instead of Japanese in QR code. Han Xin code in maximal 84 version (189×189 size)[4] allows to encode 7827 numeric characters, 4350 English text characters, 3261 bytes and 1044–2174 Chinese characters (it depends on Unicode region). Han Xin code encodes full ISO/IEC 646 Latin characters instead of restricted amount Latin characters which is supported by QR code. It makes Han Xin code more suitable for English text encoding or GS1 Application Identifiers[5] data encoding.
Additionally, Han Xin code can encode Unicode characters from other languages with special Unicode mode,[3]: 5.4.12 which has embedded lossless compression for UTF-8 characters set and Extended Channel Interpretation support. Han Xin code has special compactification mode for URI encoding and can reduce barcode size which encodes links to web pages.
Chinese company The Article Numbering Center of China (中国物品编码中心 in Chinese) during 10-th Five-year plans of China started research[6] of own QR code replacement to remove Japanese monopoly in 2D barcodes. In 2007, the new barcodes standard, at this time known as Han Xin code, published as GB/T 21049-2007[1] with the name Chinese-sensible code.
In 2011,[7] USA company Association for Automatic Identification and Mobility (AIM) brought out ISS Han Xin Code symbology as official encoding standard and published it in the own store.[8]
In 2015, group of ISO/IEC JTC 1/SC 31 started implementation[9] of Han Xin code as international standard and published it as ISO/IEC 20830:2021[3] in 2021.
In 2022 Chinese-sensible code standard was reviewed as GB/T 21049-2022[10] and renamed as Han Xin code to be compliant with ISO standard.
Set of patents is registered in United States Patent and Trademark Office related with Han Xin code encoding and decoding:
Han Xin code can be used in the same way as QR code. At this time Han Xin code is used mostly in China,[14] because it has embedded encoding ability to encode Chinese characters. However, most of barcode printers[15] and barcode scanners[16] support Han Xin code. Han Xin code can be scanned on iOS[17] and Android[18] mobile devices and many barcode libraries[19][20] support reading and writing Han Xin code.
Main advantages of Han Xin code are:
Han Xin code represents data in black and white square modules, where dark module is a binary one and a light module is a zero. Additionally, Han Xin code can be encoded in inverse colors,[3]: 4.1.2 but this option in many barcode readers is disabled by default. Black and white modules are arranged into square region with sizes from 23 × 23 modules (Version 1) to 189 × 189 modules (Version 84). As QR code, Han Xin code does not have rectangular versions like DataMatrix has and this restricts usage of Han Xin code in some cases. Han Xin code version size can be calculated with the following formula: S i z e = 23 + ( V e r s i o n − − --> 1 ) ∗ ∗ --> 2 {\displaystyle Size=23+(Version-1)*2}
Han Xin code symbol is constructed from the following elements:[3]: 4.2
Finder Pattern[3]: 4.2.3 consists from four Position Detection Patterns located at the four corners of the barcode. The size of Position Detection Pattern is 7×7 modules and it is constructed from 5 elements: dark 7 × 7 modules, light 6 × 6 modules, dark 5 × 5 modules, light 4 × 4 modules, dark 3 × 3 modules respectively.
The scanning ratio of each Position Detection Pattern is 1:1:1:1:3 or 3:1:1:1:1 (depends on scanning direction). The four patterns orientation allows to detect unambiguously the barcode location and orientation.
Every pattern has Position Detection Pattern separator[3]: 4.2.4 with Structural Information Region aligned to it.
The Alignment Patterns[3]: 4.2.5 are added to the Han Xin code from Version 4 (Versions 1–3 do not have alignment patterns) and used to precise cell position in the distorted barcodes. Alignment Patterns in Han Xin code are split into:
The Alignment Pattern is made up of a dark line and a downside adjacent light line which are one module wide. Assistant Alignment Pattern consisting from 5 light modules and 1 dark module indicates edge of region block with its dark module.
Below you can see examples of Han Xin code with different Alignment pattern placement.
Han Xin code Structural Information Region[3]: 4.2.7 is a one module wide region surrounding the four Position Detection Patterns. Han Xin code has two Structural Information identical arrays, which are made from 34 data modules. Every Structural Information array is split on 17 modules which are placed around each Position Detection Pattern.
Structural Information Region encodes the following data:[3]: Annex E
Metadata bits from 0–11 are split into 4 bits tetrads(m2, m1, m0) and supplemented with four error correction tetrads (r3, r2, r1, r0).
To make Han Xin code dark and light modules amount to be closely to 1:1 in the symbol, masking algorithm[3]: 5.8.4 is used. Masking sequence is applied to Data Region through the XOR operation. Finder Pattern, Alignment Patterns and Structural Information Regions are excluded from masking operation. The following table shows mask pattern algorithms (which is placed to Structural Information Region).
i - Row index of the symbol. j - Column index of the symbol. Both i and j start from (1,1), the top left corner module of the symbol. When the masking solution condition is true, the resulting mask bit is 1.
Han Xin code uses Reed–Solomon error correction. Encoded data is represented as byte (8-bit) array. Data array divided into blocks[3]: Annex B and error correction codewords sequence is generated for each block which is added to the end of the error correction block. After this, all blocks are merged sequentially into byte stream.
The polynomial arithmetic for Han Xin Code uses finite field generation polynomial: x^8 + x^6 + x^5 + x (355 or 101100011b)[3]: 5.5 with initial root = 1.
The amount of error correction codewords depends on symbol version and error correction level and can be from 16% to 60%, which allows to correct from 8% to 30% damage.[3]: 5.6.2
Han Xin code data is encoded as byte array. Data byte array is split into error correction blocks, where error correction codewords (bytes) are added. Error correction blocks are united into one codewords array:[3]: 5.8.3
(Encoded byte array) => (Error correction block 1) + ... + (Error correction block N) => (Codewords array)
As an example, this can be demonstrated on Han Xin code version 5 with error correction level L4. It has 27 encoded codewords and 2 error correction blocks with each block size of data codewords and error correction codewords: (14, 20), (13, 22):
(D1...D14, D15...D27) => (D1...D14, E1.1...1.20) + (D15...D27, E2.1...2.22) => (D1...D14, E1.1...1.20, D15...D27, E2.1...2.22) => (C1...C69) D(x) - Data codewords. E(b.x) - error codeword, where b is block number and x position in block. C(x) - resulted codewords.
As the next operation, resulted codewords array C(x) is split into blocks with size of 13 bytes which connects codewords in the same position of each block and form new codewords array. The result is byte array of the same size but mixed by position of 13.
(С1...С13, С14...С26, Сn...Cn+12) => (С1, C14, Cn...С13, С26, Cn+12) => (CM1...CMn+12) CM(x) – mixed by position of 13 array of codewords (bytes).
After the upper operations the resulted codewords are placed into data region row by row from left to right and from up to down. Horizontal line damage would affect fewer codewords, vertical line damage would affect more codewords.
Han Xin code can encode 7827 numeric characters, 4350 English text characters, 3261 bytes and 1044–2174 Chinese characters in the maximal version 84 version.[3]: Annex C Additionally, it supports special Unicode and industrial modes. All modes can be mixed to obtain best compactification level for the data. The following table demonstrates abilities to encode data with different barcode version and error correction level.
All encoding modes can be split into the following groups:[3]: 5.3.1
The input data string in Numeric mode[3]: 5.4.4 is divided into blocks of three digits (the last block can be less than three) and encoded in 10 bits (0000000000b - 1111100111b). The mode data is prefixed with mode indicator 0001b and terminates with mode terminator which also indicates number of digits in last group.
As an example, we need to encode digits sequence 12700402: Prefix => 0001b 127 => 0001111111 004 => 0000000100 02 => 0000000010 Terminator => 1111111110b
Text mode encodes data characters set from ISO/IEC 646. Each character is represented by 6 bits.[3]: 5.4.5 All characters are divided into two subsets: Text1 sub-mode and Text2 sub-mode. 11110b value is used to switch between text sub-modes, 111111b is a mode terminator. Text mode starts from Text1 sub-mode.
Binary mode encodes bytes array [0 – 255] in any form. Binary mode[3]: 5.4.6 consists from binary mode indicator 0011b, 13-bit binary counter and bytes data which are converted to 8-bit sequence. None mode terminator is required.
Chinese Characters modes is a set of 4 modes which encodes Chinese characters from GB 18030 codepage.
Unicode mode[3]: 5.4.12 encodes UTF-8 charset with embedded lossless compression. In the Unicode mode, the input data is analysed by using self-adaptive algorithm. Firstly, input data is divided and combined into the 1, 2, 3, or 4 byte pattern preencoding sub-sequences, and secondly a run-length data compression algorithm is applied to encode each sub-sequences of the input data.
Shortly, the Unicode mode searches characters sub-pages which can have the same prefix sequence for all of characters of the same language (Cyrillic, Greek, French, German... languages) and encodes only differences from prefix bytes sequence.
Han Xin code GS1 mode[3]: 5.4.13 is an indicator that the represented data is defined by GS1 General Specification. GS1 mode encodes data in Numeric and Text modes. Other modes may be used but GS1 mode must be first mode in the symbol and encoded data must be returned with GS1 flag. <FNC1> (if required) must be encoded as 1111101000b in Numeric mode (Numeric mode encodes only three digits, so 1111101000b => 1000 value is counted as special character). In case <FNC1> identifier must be inserted and encoder is in any mode different from Numeric, the mode must be terminated and Numeric mode must be started. GS1 mode indicator is 11100001b and GS1 mode terminator is 11111111b.
The data in GS1 mode is split into GS1 Application Identifiers chinks and then compacted with the best modes. As an example, the following data can be encoded: (10)123456ABC<FNC1>(240)DATA
The data is encoded in the following way: <11100001b> <Numeric 10123456> <Text ABC> <Numeric mode selector> <1111101000b> <Numeric 240> <Text DATA> <11111111b>
Han Xin code URI mode[3]: 5.4.14 encodes URI links in compact encoding. URI mode indicator is 11100010b and URI mode terminator is 111b. URI mode can encode data in three charsets: URI-A, URI-B, URI-C[3]: Annex M with own sub-mode terminators. URI mode can encode %XX data in special Percent-Encoding sub-mode, where three symbols is encoded in 8 bits.
Percent-Encoding sub-mode encodes %XX data in 8 bits sequence. The mode does not require any terminator. To encode URI %XX data in this mode, sub-mode indicator (100b) must be added, then 8-bit indicator of sub-mode 8 bits sequence must be added (counter = Length of %XX / 3) and after this sequence, where %FF, or %ff, or %00, must be added as xFF or x00 bytes.
Indian politician Ramesh JigajinagiMinister of State for Drinking Water & SanitationIn office5 July 2016 – 24 May 2019Prime MinisterNarendra ModiPreceded byBirender SinghMember of the Parliament of India (Lok Sabha)for BijapurIncumbentAssumed office 2009Preceded byBasangouda Patil YatnalMinister for Revenue, KarnatakaIn office1996–1998Minister for Social Welfare, KarnatakaIn office1996–1998Member of the Parliament of India (Lok Sabha)for ChikkodiIn office1998–2009Precede…
يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) 9° خط طول 9 غرب خريطة لجميع الإحداثيات من جوجل خريطة لجميع الإحداثيات من بينغ تصدير جميع الإحداثيات من كيه إ…
EarthquakePoster filmSutradara Sarik Andreasyan Produser Gevond Andreasyan Sarik Andreasyan Ruben Dishdishyan Aram Movsesyan Marty Bowen Ditulis oleh Grant Barsegyan Arsen Danielyan Aleksey Gravitskiy Sergey Yudakov Marty Bowen Pemeran Konstantin Lavronenko Mariya Mironova SinematograferYuriy KorobeynikovDistributorKaroprokatTanggal rilis 25 Juli 2016 (2016-07-25) Durasi101 menitNegara Armenia Bahasa Armenia Rusia AnggaranAMD 1,460,000,000Pendapatankotor$3.6 juta[1][2] Earth…
1987 film King LearFrench theatrical posterDirected byJean-Luc GodardScreenplay byPeter SellarsTom LuddyBased onKing Lear by William ShakespeareProduced byYoram GlobusMenahem GolanStarringBurgess MeredithPeter SellarsJulie DelpyLeos CaraxMolly RingwaldWoody AllenJean-Luc GodardNorman MailerCinematographySophie Maintigneux [fr]Edited byJean-Luc GodardMusic byLudwig van BeethovenJ. S. BachDistributed byCannon FilmsRelease dates 17 May 1987 (1987-05-17) (Cannes) 15…
怪傑ゾロ > 快傑ゾロ (アニメ) この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: 快傑ゾロ アニメ – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2016年2月) 快
Mardin Nummer der Provinz: 47 Landkreise Basisdaten Koordinaten: 37° 22′ N, 40° 55′ O37.36305555555640.908611111111Koordinaten: 37° 22′ N, 40° 55′ O Provinzhauptstadt: Mardin Region: Südostanatolien Fläche: 8.779 km² km² Einwohnerzahl: 854.716[1] (2020) Bevölkerungsdichte: 97,4 Einwohner/km² Politisches Gouverneur: Mahmut Demirtaş[2] Sitze im Parlament: 6 Strukturelles Telefonvorwahl: 0482 Kennzeichen: 47 Website www…
Genre of written material Part of a series onJewish culture Languages Hebrew Modern Ashkenazi Sephardi Mizrahi Yemenite Tiberian Medieval Mishnaic Biblical Samaritan Babylonian Palestinian Judeo-Aramaic Hulaulá Lishana Deni Lishán Didán Barzani Betanure Lishanid Noshan Targum Biblical Talmudic Palestinian Galilean Judeo-Arabic Yahudic Judeo-Baghdadi Judeo-Moroccan Judeo-Tripolitanian Djerbian Yemenite Other Jewish diaspora languages Yiddish Ladino Haketia Tetuani Yevanic Catalanic Italkian Pi…
The Institute for Conflict Studies and Analysis of Russia Інститут конфліктології та аналізу Росії Абревіатура ІКАРТип Think tankЗасновник Олександо Шульга, Оганесян АрменакЗасновано 2023Галузь Соціологічні та правові дослідження.Країна УкраїнаРозташування КиївКод ЄДРПОУ 45041618 Вебсайт: ikar-thinktank.…
William Craven, 1. Earl of Craven (um 1640) Wappen des Earl of Craven Earl of Craven ist ein erblicher britischer Adelstitel, der je einmal in der Peerage of England und der Peerage of the United Kingdom vergeben wurde. Inhaltsverzeichnis 1 Verleihungen und nachgeordnete Titel 2 Baron Craven of Ryton 3 Liste der Earls und Barone of Craven 3.1 Earls of Craven, erste Verleihung (1664) 3.2 Barone Craven (1665; Fortsetzung) 3.3 Earls of Craven, zweite Verleihung (1801) 3.4 Barone Craven of Ryton (16…
206.ª Brigada MixtaActiva Mayo de 1938-marzo de 1939País EspañaFidelidad República EspañolaRama/s Ejército Popular de la RepúblicaTipo InfanteríaTamaño Brigada mixtaAlto mandoComandantesnotables Artemio Precioso UgarteGuerras y batallas Guerra Civil Española[editar datos en Wikidata] La 206.ª Brigada Mixta fue una unidad militar del Ejército Popular Español, creada como defensa de la Segunda República Española en el contexto de la Guerra Civil Española. Alcanzó notorie…
لمعانٍ أخرى، طالع مارك رايت (توضيح). هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (مايو 2019) مارك رايت معلومات شخصية الميلاد 22 أبريل 1979 إدنبرة الوفاة 6 سبتمبر 2006 (27 سنة) [1] ولاية هلمند مواطنة الم
CUL2 التراكيب المتوفرة بنك بيانات البروتينOrtholog search: PDBe RCSB قائمة رموز معرفات بنك بيانات البروتين 4WQO المعرفات الأسماء المستعارة CUL2, cullin 2 معرفات خارجية الوراثة المندلية البشرية عبر الإنترنت 603135 MGI: MGI:1918995 HomoloGene: 2662 GeneCards: 8453 علم الوجود الجيني الوظيفة الجزيئية • GO:0001948، GO:0016582 رب…
الرهبنة اليسوعية شعار الرهبنة الساليزيانيةشعار الرهبنة الساليزيانية الدين المسيحية، جزء من الكنيسة الرومانية الكاثوليكية المؤسس دون بوسكو تاريخ الظهور 18 ديسمبر 1859 الأصل العائلة السالزيانية [لغات أخرى] عدد المعتنقين 14,795 راهب (2017) تعديل مصدري - تعديل الرهبن…
United States historic placeTrenton Battle MonumentU.S. National Register of Historic PlacesNew Jersey Register of Historic Places The monument in 2023Show map of Mercer County, New JerseyShow map of New JerseyShow map of the United StatesLocationTrenton, New JerseyCoordinates40°13′33″N 74°45′53″W / 40.22583°N 74.76472°W / 40.22583; -74.76472Built1891–1893ArchitectJohn H. DuncanArchitectural styleBeaux ArtsSculptors:William Rudolf O'DonovanThomas Eakins…
Type of postal service US Navy sailors sorting mail at Fleet Mail Center Yokohama Military mail, as opposed to civilian mail, refers to the postal services provided by armed forces that allow serving members to send and receive mail. Military mail systems are often subsidized to ensure that military mail does not cost the sender any more than normal domestic mail. In some cases, military personnel in a combat zone may post letters and packages to their home country free of charge. Modern militar…
Municipal building in Portsmouth, Hampshire, England Portsmouth GuildhallLocationPortsmouth, HampshireCoordinates50°47′52″N 1°05′34″W / 50.7979°N 1.0928°W / 50.7979; -1.0928Built1890ArchitectWilliam Hill (original design); Ernest Berry Webber (rebuild)Architectural style(s)Neo-classical style Listed Building – Grade IIDesignated25 September 1972Reference no.1104316 Location of Portsmouth Guildhall in Hampshire Portsmouth Guildhall is a multi-use buildin…
KC Antilopen Algemeen Sport Korfbal Geschiedenis Opgericht 20 september 1965 Structuur Voorzitter Michel Lerou Trainer Irene Veenendaal Competities Zaalcompetitie Overgangsklasse Infrastructuur Clubhuis Buiningpark Sporthal Sportcentrum Buiningpark Tenue Portaal Sport KC Antilopen is een korfbalvereniging uit de Nederlandse gemeente Leusden, spelend in de 1ste Klasse landelijk in de zaalcompetitie. Op het veld spelen de Leusdenaren een klasse hoger in de overgangsklasse. KC Antilope…
International sporting eventMen's team epée at the 2023 Pan American GamesVenueParalympic Training CenterDatesNovember 2Competitors18 from 10 nationsMedalists Curtis McDowaldSamuel ImrekSamuel Larsen United States Nicholas ZhangFynn FafardDylan French Canada Jesús LugonesAlessandro TaccaniAgustín Gusman Argentina«2019 2027» Fencing at the2023 Pan American GamesQualificationÉpéemenwomenTeam épéemenwomenFoilmenwomenTeam foilme…
This article is an orphan, as no other articles link to it. Please introduce links to this page from related articles; try the Find link tool for suggestions. (March 2023) Palestinian Child's DayA Palestinian boy and Israeli soldier in front of the Israeli West Bank barrier.Observed byPalestiniansDate5 AprilNext time5 April 2024 (2024-04-05)Frequencyannual Palestinian Child's Day (Arabic: يوم الطفل الفلسطيني, ; Hebrew: יום הילד הפלסטיני, The da…
Yevgeny ZinichevЕвгений ЗиничевMenteri Situasi DaruratMasa jabatan18 Mei 2018 – 8 September 2021Perdana MenteriDmitry MedvedevMikhail MishustinPendahuluVladimir PuchkovPenggantiAleksandr Chupriyan (interim)Wakil Direktur Dinas Keamanan FederalMasa jabatan7 Oktober 2016 – 18 Mei 2018Gubernur Oblast KaliningradMasa jabatan28 Juli 2016 – 6 Oktober 2016PendahuluNikolay TsukanovPenggantiAnton AlikhanovDirektur Dinas Keamanan Federal Oblast KaliningradMas…
Lokasi Pengunjung: 18.116.27.63