How to Decode a DataMatrix by Hand

How to Decode a DataMatrix by Hand


http://en.wikipedia.org/wiki/Datamatrix
http://www.gs1.org/docs/barcodes/GS1_...
10 x 10 Example: https://www.youtube.com/watch?v=h5z5S...
12 x 12 Example: https://www.youtube.com/watch?v=VBex_...
QR Code: https://www.youtube.com/watch?v=KA8hD...
Closed Caption:

alright this is how to decode the data
matrix by hand the real short of it is
this is what David tricks looks like
right here and is broken up into bytes
in this kind of fashion and each x
equals something which minus one is an
ASCII value unless it's a pair which you
can into two numbers and that's the
short of it it has about 10 14 x 14 here
that i have has 18 bites where the date
into it but only uses half
ok so that's the short of it that's how
you decoded data matrix in less than a
minute anyways now let me show you how
to decode data matrix by hand all steps
behind it so the first thing i'll show
you here is data matrix and you can see
it is a capital ABC in a lowercase ABC
and then 123
now this is a 14 x 14 size data matrix
and 14 is the number of cells which is
the number of pixels if you will so
123456789 10 11 12 13 14 and 14 down so
the basis behind the data matrix is that
it has a border a solid black line on
the left and bottom side that dotted
black line on the right and upper side
of it now it's broken up into these
l-shaped regions here in these l-shape
regions have a pretty basic
what do I want to save this they have a
pretty basic shape to them so let me
just do this show you this is the real
short of it it goes in this kind of
pattern or it's 128 64 32 16 8 4 two and
one and if these cells these little dots
are on then that is that bites worth
turn-on for instance if this guy i use
black to show it were on
and this guy were on that means i'm
going to do 64 plus 2 and so say 64 plus
two equals course that's 66 but because
the data matrix has three different
types of what the data can mean or
really the basics of it is that I either
can mean an ASCII value and this is an
ASCII chart this is going to be the
values of between one through a hundred
and twenty-seven or really a hundred and
twenty-eight if you're going to zero
through 127 or 128 but in this case 4
into 1 through on a 28 kind of thing so
anyhow let's see what was my value again
it was 66 and minus 1 gives us 65 and 65
and ascii go up to our chart here is a
capital a so that's how the l thing
works now this isn't the data matrix
that i'm going to show you how to decode
this is just an example how to use the
l-bracket so now we gotta fill in the
rest of these guys here and kinda looks
nice if I can find a better picture
no no I suck at this alright let's fill
this thing out by hand the gonna go for
like a couple different colors your blue
so on a top corner of the day matrix is
going to look like this every single
size you have and then from there you're
going to have a different size d matrix
and each one of them are gonna lips
gonna look slightly different in how
they're laid out but each from have this
kind of basic thing we're just lay out
like this now the extra ones on the
sides here are still bites but they're
laid out oddly different so turning this
guy back to blue
this guy back to let's go through here
and figure this out now you see the L
bracket here and you see how they come
all fit within each other in this kind
of fashion
the first thing you want to do is you
want to find all the complete l-brackets
that you can it'll fit obviously can't
fit one here because it's only six are
you know I has two spaces wide by a
three so delighted with this data
well the first thing you're gonna do is
start here we're going to create a new
one as if there were one there
however there isn't we're going to kind
of create like it work and then this guy
as if there were one there
we're going to give it you know a
partial partial sighs there and then
there's one over here he goes there and
the reason we're doing this is
essentially we're wrapping the data
around the border of the data matrix so
anyhow let's see if you clear these
things here I want to show you the order
of bites at this all goes in
let me finish this real quick okay
alright green there and orange there and
finally and i'll leave that last one
white because that one special is
special a terrible terrible way anyhow
these let's break it down like this with
the grid so this is this is the bite
that we are this is the the order of
bytes panting so hard to explain and
each one of these has a corner here over
L bracket looking at the lower
right-hand portion of it we're going to
little X there every single one of them
in the idea is that we go from the the
the one standard one that's always going
to be here in the corner that's called
that's going to be our
our chunk number two now Chuck number
one starts down here because technically
that were there actually wraps around
over here and is on this side remember
how I told you the day wraps around
since I have to hear i have a matching
six over here so anyways white one
starts here goes up to two and then up
to three and three wraps around down
here for the remain five that's missing
being has three years too late so that
makes sense so then it comes down here
for then go to 56 you can see on I'm
hitting the X's on each one of these
guys seven and then we have that special
guy down here number eight an eight is
also up here it is this corner guy and
the corner guys very special if you go
to Wikipedia and we search for data
matrix is you'll see is nice screen like
this and it has this is a great
reference tor I learned somebody of my
name's Sean who also taught me this as
well but anyhow the corner bite is
either going to be one of four different
cases in this case we're looking at case
number one where it has the kind of
upside down LOL and three of them down
here that's the case we're looking into
with this one where it has three down
the bottom and upside-down hell over
here you'll get different cases based on
the different sized and make sure you're
working with being ten-by-ten up to 20
by 20 and so you can see on wikipedia
site maybe a better representation of
the way i did is that you can see that
little red dot on that bottom right
corner of the old bracketed by and goes
in a pattern such as this Wikipedia is a
great reference if you re learn how to
do this again hopefully this video is a
great starter for you although it may
not be so anyways you'll notice that
there's a like 18 or yeah 1817 who cares
there's a bunch of bytes sections here
ok show 18 they have there's there's all
these bites sections but really only
eight of the
18 are used for data the other 10 are
forever correction now the error
correction is something called
reed-solomon error correction and i'm
not going to bother trying to teach you
that because i don't know what i'm
looking at i mean this this is reed
solomon this is a bunch of I don't know
what i'm looking at i'm a programmer and
nowhere near mathematician look at this
not silly forget this mess actually
simple things like a ski so anyhow i
remember i told you that this was by one
wrapped around down here so this is the
data matrix that I've decided to decode
and it is again Capital ABC in lowercase
ABC and 123 so white number one here is
ID com chunks because it doesn't
necessarily equal to bite because uh in
case of numbers that equal to $OPERAND
bytes worth of data and i'll get to that
in a bit when i hit the 123
so by our trunk number one here being
that we always start beneath the first
completed one the first complete one is
always going to be to any first one's
gonna start here
so remember that over here I'll straight
trunk number two which is a whole 1i got
128 64 32 16 18 421 it's the same
pattern just wrapped around four byte
number once i got 128 64 and 32 16 8 4
two and one
now I've kind of darken the cells here
where they're filled out on this guy so
64 and two are highlighted so 64 plus
two is 66 minus one is 65 and going to
our ASCII chart which you can search
asking its asci I know you pull the
whole bunch of asking charge they're all
over the place but anyways 65 to go to
our decimal thing here 65 is a capital a
so there is the first character of our
barcode capital a nice well you can kind
of see where this is going to go from
here
our second bite has 64 2 and 1
highlighted are filled in with black in
our day matrix here it is 67 minus one
is 66 one more than 65 it's a capital B
and we can go back to our asking chart
here and see 66 is indeed a capital B so
continuing on down line the next one has
64 this one wrapped vertically so it's
just you know in 24 32 16 894 tune one
gives us 64 plus 468 minus 1 because
that's just how the day matrix does it
the ASCII values are always one more
than they should be so just subtract
want to get the full asking value 67
being again one more than 66 is the next
character down C and so any ASCII chart
you have a capital letters and you have
a lowercase letters you have a couple of
things like number you get symbols you
have a couple other like serial type
commands like character return is is if
you were hit the enter bar or tab or
something along the lines anyways the
next character can be looking for is a
97 for a lowercase a
so coming back to this we have let's see
here starting here 64 plus 32 plus two
is 98-91 there is that 97 gives us are
lowercase a
now the same thing here for chunk number
5 64 32 2 199 minus one is 98 that is a
note lowercase B now for see you get the
picture for chunk number seven
now this one does wraparound again but
this one is special as in it is not an
ascii character on the thing about data
matrix is very very smart whoever came
up with this is that if there are two
numbers next to each other
it displays them up above a hundred and
thirty and you just subtract 232 get
those two characters it's really quite
ingenious
so here's the thing a hundred
twenty-eight wraps around and comes up a
little bit you know 64 and 32 16 82 are
421 so we got a hard 28 4 8 and 2 equals
a hundred and forty-two so the thing is
now we're going to subtract 230 which
gives us 12 what our next two characters
one and two pretty stinking smart isn't
it
so if you had say a hundred and
ninety-five minus hundred and
thirty-four 95-100 30 is 65 so the next
two characters would then be six and
five pretty stinking smarter like the
way they did that
now this is only four digit pairs and so
our final character is three
now in this case this is this weird
thing or I had to go to Wikipedia to get
you out of here reselling edit Wikipedia
to get the case and eventually if you
want to do these things by hand your
product to memorize these these four
cases here which aren't too hard
I mean I wanted a matrix because it's
like a puzzle I love puzzles course you
want to code so that's puzzles are my
thing code is a big puzzle so you know
you have to get the bit positions off
this guy so this being one this being 2
4 8 16 32 64 128 so going back to this
guy we got 32 16 and 4 which gives us
two old 52 that is less than a hundred
and thirty so we don't any ascii
character and that is 51 so51 is normal
pre please an ascii number three so that
the last character right there uses a
ski work versus and so that the pairs
because only the one it just uses the
ascii instead pretty cool
now the only exception to this rule is
if this comes out to be a hundred and
twenty-nine
this final number here that means that
not all eight trunks were used maybe
only seven trunks were used in the
eighth one is unnecessary
it can be in a hundred twenty-nine which
means don't worry about this trunk or
any trunk beyond it
so now you bet you're wondering what
about you know chunk nine through 18
although the air correction chunks or
for maybe a if it has it you know 129
and and chunky dammit then those could
also be Patti as well because each one
of these data matrix is actually has a
max size to it now here's this great PDF
that my buddy Sean for me it has a whole
bunch of similar information in it now
linked to this PDF in the comments on
the internet but it will tell you each
size here and the project if I can't
there we go so if i have in my case an
instance of 14 x 14 data matrix i have 8
chunks of code word so I made chunks and
then i have 10 that's the other nine
through 18 i have my other 10 error
correction words which i'm not a priori
gonna buy the dealer so it gives you a
little more data is like I can hold 16
numeric total or 10 alphanumeric in
total and so 14 x 14 is actually 12 by
12 because the pattern i guess doesn't
truly count you don't really take that
into effect and so this will tell you
how many you have so if you're working
on the 14 x 14 you ate chunks of data to
work with and this is a very important
to know or else you're going to run over
into the error-correction stuff you're
going to get this weird data and be like
what the crap is this
so I'll link to this in the comments you
can probably find it's like it i didn't
see this on wikipedia anywhere
wikipedia is also a great resource to
how to figure this out so if you come up
here right below this great graphic
representation they give here is the
thing I was talking about earlier where
1 320 is the ASCII value plus 100 is an
end of message and a hundred and thirty
through 229 is the digit pairs now the
rest of the stuff I haven't really seen
this used but they may reference little
bit more of that down here as well you
know how to use that if need be
so there you are that a nutshell is how
to solve for data matrix oh yeah it's
they have a great little picture here to
kind of show purple being the the
pattern to find green being the actual
data chunks that you'll be decoding by
hand and then yellow if it has need be
for padding you can see right here this
yellow in particular has the dots down
here at the bottom of the top . down
here up at the top left talking too fast
for my own brain keep up this is the
classic 129 this is 128 and this is one
so they're 429 and this means and bite
so therefore these are just simply
padding to fill out for padding i mean
that's that's really all there is to it
and then all these Reds are all your
dated correction crap now also to know
on this case this let's see 2 4 6 8 10
12 14 16 this is 16 by 16 as for extra
little bits here those are just
completely unused and this is to note
here this is a different case because
it's a different size for the corner
bite as it's called this is a sideways
at all it has its remaining three bits
here stash to the side that would be
case number two
so there you are so that's how you know
you know where the bits are for that
special case and wikipedia shows they
have a bar code that's that same bar
cohere a show on Howard spelling
wikipedia for you and we're all the
error correction is and where he
wraparound pieces are here as well you
can see the D here is wrapped with the D
over here the I up here is wrapped with
the I down here and the I down here is
wrapped with the I up
they're the w here is a w over there so
Wikipedia great reference for this if
you want to learn more i plan on doing
some more example videos with different
sizes i'll probably do 10 and 12 so when
and if i do those eyes those will be
linked in the comments so i hope this is
a good reference to learn data matrix
and i hope you either take this up as a
fun puzzle for decoding data matrix is I
wanted to do with it or you create the
next awesome day training program so
best of luck to you on either way have
fun with that

Video Length: 20:35
Uploaded By: robomatics
View Count: 11,016

Related Software Products
Data Matrix Encoder
Data Matrix Encoder

Published By:
Barcodesoft

Description:
Barcodesoft Data Matrix Premium Package empowers you to print Data Matrix Barcode Symbols from your desktop printers. It is able to encode all ASCII and Extended ASCII characters.BRBRThere are 9 fonts, a crystal reports UFL DLL and a GUI encoder contained in the package.BRThe 9 fonts vary slightly in size. They are designed to overcome inaccuracy of printing devices.BRBRThere is also a simple Visual Basic sample in the package. You will find how easy it is to make further ...


Related Videos
How to Create Data Matrix barcodes in Crystal Reports?
How to Create Data Matrix barcodes in Crystal Reports?

The tutorial explains how to create Data Matrix barcodes in Crystal Reports using the Data Matrix Font and Encoder: http://www.idautomation.com/barcode-f... Recap Information for Video: 1. The Data Matrix encoder for Crystal uses 4 parameters. 2. DataToEncode (the data that will become the barcode). 3. ProcessTilde (When set to 1, allows functions to be encoded using ~d. For example ~d009 encodes a Tab). 4. EncodingMode: http://www.idautomation.com/barcode-f...br ...
Video Length: 02:29
Uploaded By: IDAutomation Barcode Technology
View Count: 8,290

Encode a Tab (or Function) in a 2D Barcode in Microsoft Excel
Encode a Tab (or Function) in a 2D Barcode in Microsoft Excel

This tutorial explains how to encode a function, such as a horizontal tab, in a 2D barcode (Data Matrix, Aztec, and QR-Code) in Microsoft Excel using 2D Barcode Fonts and the Microsoft Excel Barcode Add In (free tool). For Data Matrix Barcode Fonts, please visit: http://www.idautomation.com/barcode-f... For QR-Code Barcode Fonts, please visit: http://www.idautomation.com/barcode-f... For Aztec Barcode Fonts, please visit: ...
Video Length: 03:04
Uploaded By: IDAutomation Barcode Technology
View Count: 6,692

How to Encode a Tab (or Function) in a 2D Barcode using the Barcode Generator
How to Encode a Tab (or Function) in a 2D Barcode using the Barcode Generator

This Barcode Image Generator tutorial explains how to encode a function, such as a tab, in an Aztec, QR Code, and Data Matrix barcode. Other functions, such as carriage returns, can be also encoded. Please view the ASCII chart at: http://www.idautomation.com/product-s... Examples to encode the most popular functions in the 2D barcodes: To encode a carriage return (enter), use ~d013 To encode a tab, use ~d009 To encode a Group Separator GS, use ~d029br ...
Video Length: 01:58
Uploaded By: IDAutomation Barcode Technology
View Count: 6,018

How to Encode a Tab or Function in a 2D Barcode in Microsoft Word
How to Encode a Tab or Function in a 2D Barcode in Microsoft Word

This tutorial explains how to encode a function, such as a horizontal tab, in a 2D barcode (Data Matrix, Aztec, and QR-Code) in Microsoft Word using 2D Barcode Fonts and the Microsoft Word Barcode Add In that comes with one of the packages below. For Data Matrix Barcode Fonts, please visit: http://www.idautomation.com/barcode-f... For QR-Code Barcode Fonts, please visit: http://www.idautomation.com/barcode-f... For Aztec Barcode Fonts, please visit: ...
Video Length: 02:44
Uploaded By: IDAutomation Barcode Technology
View Count: 4,967

How to Create Data Matrix Barcodes using the Java Font Encoder and DM Fonts
How to Create Data Matrix Barcodes using the Java Font Encoder and DM Fonts

This tutorial explains how to use IDAutomation's Java Font Encoder (to create a Data Matrix Barcode) in the command prompt on Windows ********** NOTE: As of August 2015, the Data Matrix font name has been changed from IDAutomationDMatrix to IDAutomation2D. The Data Matrix Font and Encoder Advanatage packages is now named the Data Matrix Font and Encoder User or Developer Suite. ********* The tutorial assumes that a Java compiler is installed and that ...
Video Length: 03:59
Uploaded By: IDAutomation Barcode Technology
View Count: 3,847

How to install Data Matrix Fonts
How to install Data Matrix Fonts

The tutorial explains how to install the Data Matrix Font Package. The tutorial uses the IDAutomation Data Matrix Font Advantage Package which includes Crystal Font Formulas and additional files. *************** NOTE: As of August 2015, the Data Matrix font name has been changed from IDAutomationDMatrix to IDAutomation2D. The Data Matrix Font and Encoder Advanatage packages is now named the Data Matrix Font and Encoder User Suite. *************** br ...
Video Length: 01:06
Uploaded By: IDAutomation Barcode Technology
View Count: 714

Copyright © 2025, Ivertech. All rights reserved.