How to Decode a QR Code by Hand

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

This is really cool, I never thought QR codes would be something you could read by hand, albeit tediously. This is probably the most interesting useless information I have now.

πŸ‘οΈŽ︎ 141 πŸ‘€οΈŽ︎ u/Dirnol πŸ“…οΈŽ︎ Dec 13 2016 πŸ—«︎ replies

Oh this is gonna be so cool, I'm gonna be able to decode this shit to impress people... 30 seconds in, nah I'm good.

πŸ‘οΈŽ︎ 66 πŸ‘€οΈŽ︎ u/NEVERGETMARRIED πŸ“…οΈŽ︎ Dec 13 2016 πŸ—«︎ replies

That would have been the best setup for a dickbutt.

πŸ‘οΈŽ︎ 48 πŸ‘€οΈŽ︎ u/TimeIsWasted πŸ“…οΈŽ︎ Dec 13 2016 πŸ—«︎ replies

I saw this and felt that I needed to learn this all the way and practice until I could decode fluently. Then I realized I can't understand half the stuff he's talking about because I'm colorblind. Guess I'll never learn this party trick skill.

πŸ‘οΈŽ︎ 22 πŸ‘€οΈŽ︎ u/gladamirflint πŸ“…οΈŽ︎ Dec 13 2016 πŸ—«︎ replies

Thanks Kermit.

πŸ‘οΈŽ︎ 10 πŸ‘€οΈŽ︎ u/twodogsfighting πŸ“…οΈŽ︎ Dec 13 2016 πŸ—«︎ replies

Narrated by John C Reilly?

πŸ‘οΈŽ︎ 5 πŸ‘€οΈŽ︎ u/oyapapoya πŸ“…οΈŽ︎ Dec 13 2016 πŸ—«︎ replies

I've always been super curious about this actually.

πŸ‘οΈŽ︎ 2 πŸ‘€οΈŽ︎ u/conrad141 πŸ“…οΈŽ︎ Dec 13 2016 πŸ—«︎ replies

should be labeled as /r/interestingshit

πŸ‘οΈŽ︎ 3 πŸ‘€οΈŽ︎ u/stencilizer πŸ“…οΈŽ︎ Dec 13 2016 πŸ—«︎ replies
πŸ‘οΈŽ︎ 7 πŸ‘€οΈŽ︎ u/Benmen10 πŸ“…οΈŽ︎ Dec 13 2016 πŸ—«︎ replies
Captions
alright are you ready for this because I'm gonna fire this is a lie and so I always this is how to decode a QR code by hand no I like the QR code better than I like the Dave matrix code until I tried it to code go to them add a matrix is a lot easier the QR code is actually a beast it's a code anyhow this is your standard QR code right here and this one specifically says Robo Maddox my youtube name so now the first piece you're going to notice about a QR code is these giant black squares here and those are actually the finder pattern what your phone or barcode scanner would use to find the QR code with now bigger sizes these have a another one that's fits right about here that's a smaller size it's a these are a 3x3 dot this one be a one one by one with a board around itself as well but I'm going to show you the basic a very simple very easy QR code decoding mmm I try to no I let everybody know continue now from this corner of this top left box find a pattern to the top right of the lower left finder pattern Bank I think that these things is the timing and the timing is the same up here as well between these two and similarly for your phone or barcode scanner it would look to see how many black to white changes are between these finder patterns therefore telling it how big each of these little cells are within the data are at the QR code so let's continue on to the formatting of how the QR code looks so now this looks crazy but you only need to remember like one thing when you're looking at this of course you ever find your patterns and I've marked the timing codes in purple and let's see the red here is your error correction and got error correction here as well this is actually a copy from here to here and here to here and then the green is something called the mask pattern and either that minute finish with this stuff the yellow is more formatting crap that you don't need to worry about and then the orange is the space between the finer patterns and the rest of the barcode I just want to fill it in so didn't get confused when looking at the actual data and there's one blue thing here that's like for the error correction stuff we don't care about it because we're not gonna look at the error correction whatever and then there is always a black dot right there I've colored it purple just so I don't get confused again so continuing on the mask is actually very important to decoding a QR code and so in our QR code we have this dot copy over up here is over here so if we come back up to our real black and white QR code this is the third dot in to down from the black finder pad so our 1 2 3 dot into down right there so I have black white white so that's why I have dark green light green light green and this indicates our find your pattern and why is it copied down here well just in case your QR code gets ripped somehow or torn or messed up or something like that it has actually two spots that your finder can look for to figure out what the fine what the pattern is now let's go to Wikipedia here and let's type in a wiki pedia QR code and go there now there is actually quite a few patterns to the QR code as far as masking goes and I'll show you what that means you're in a second once I can find it here we are the masking pattern is this crazy awful pattern that pretty much inverts the data area of the QR code as so that the data doesn't come across looking a blank in some regions or pure black in some regions or even looking like the finder pattern itself what the mask purpose is is to take that data area and just mix it up and really you're going to figure it out either way because you have the mask pattern they tell you how was mixed up so you can D mix it up now to do this by hand is kind of crazy so I've pulled together this to show you how that works so remember now we have a like a one thing of it black then a white and a white for this one so going to our finder patterns we have this guy right here which is every other line is inverted and so knowing that I have taken every other line starting at the bottom here and gone up and inverted or drawn the mask out as every other line now the only exception to this rule is right here is not you know every other every other than every other because this is our timing pattern it just skips over that and then every other every other every other okay so now we got that covered this is our mask that we're working with so now how do we take this crazy data here and D mask it well if you're going to do it by him like I'm trying to teach you here's how I've done that what I've got is my mask pattern here and I've taken my data and copied it in to the picture that I've drawn so far so really this is just to ignore oh this would actually be purple here we are purple to want to get that confused that's why I made a purple so anyways this is our data and this is a mask and superimposing our mask over or underneath our data really it comes out looking like this where the Rey is the masked regions that are to be inverted and the black is the data that is actually there for the QR code and so what I've done to invert these is basically coming down here now those looks crazy but don't get scared is I've taken a the gray area here and I went through to every black area and cleared it out so they come across here we go gray gray gray black I like gray gray gray white and you know I just went down a line and every time I saw a black within a gray row I just inverted it so it disappeared it's actually supposed to be gray they're confusing myself it's terrible okay continuing on so now I have every black in a gray area cleared to white now I can come through and turn every grade area in these gray rows into black so now continuing on down from the row we were at before here it was gray I turn it black this one was gray I turn it black this one was grey and a black and left the whites as whites so therefore now we have a rien masked QR code without mascara of course all right so now we have something that we can actually start decoding by hand now that the mask is out of there and this is why the QR code is so much more awful than the data matrix by the way I have videos on a data matrix as well so check those out too let's get to decoding this sucker all right so the first thing I'm going to do when decoding this guy after masking it is we got to figure out two things and those are given to us at the lower left portion of lower right sorry lower right portion of a barcode and we have here the encoding and we have the length now the encoding is can tell us how the QR code is encoded B didn't new May Rick's alphanumeric binary and I think there's like eight other beyond that different types of crazy encoding now your standard encoding touch that you would think of where it has a capital and lowercase letters something that would contain like a web page address that would be binary encoding and so if we go back to our good friend Wikipedia here and we go to encoding modes we're looking for byte encoding which is eight bits per character as you would figure to be alphanumeric because you would think this would be alphanumeric I think is uh yeah it just gives pretty much only capital letters and some punctuation so lowercase isn't included with this so I know it's not going to be alphanumeric I know it's going to be byte encoding which is using ASCII and I was totally wrong there isn't a toh there's like five other and then I'll show you this later so continuing on here um I'm looking for zero zero one zero okay so cuz one two four eight can thinking through you know kind of binary type pattern zero zero one zero so if we come back to this guy zero zero actually because it's binary starts from this side zero zero one zero so now I know it's a byte encoded something else to the data fact I took this a robo Maddox barcode here from QR code Kaiba comm which is a good website you can use to make data matrixes or even QR QR codes in dating matrixes from so they use this type of encoding and then use this type of masking you can have who knows what mask with who knows what encoding on it when you get a barcode so I be careful because this is only one example of which continuing on this is our length and Robo Maddox is ten characters long our OB om a TI a CS Robo Maddox so therefore 8 plus 2 is 10 so I my length of characters are 10 so now how do I know how these bytes are flowing well Wikipedia told me anyhow let me show you how they actually flow here this is kind of a copy over from what Wikipedia already shows somewhere forget it I don't know where I showed it anyhow this is uh doing the encoding for bits there then I my length and then I have my next one next one this wraps around down down down then wraps around goes up up up up then down addenda down and then this is special because this is our end character and this was referring to down with the encoding here where a zero zero zero in the four bit chunk means end of matches Rudy knew it was the end of the message because length Rd Tolls there was ten so we go one two three four five six seven eight nine ten and the end of a string now what about the rest of this crap that goes up goes through there comes back round goes down goes through there comes up and wraps around goes around goes around goes around and down it finishes there what about the rest of these things well those are the error encoding crap and you just don't want to mess the error encoding crap unless you are ridiculously smart and configure that kind of stuff out and so I've laid this out in a more kind of a easy-to-read pattern or diagram here where we have our encoding our length the capital R the OB OMA T ICS the end of message then error correction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 all right so that's how it's going to look so how do we get those things how do I know that this is a capital R how know this is an O well let me show you how I came to that conclusion coming down here to our next position I'm going to show you how the bits are all laid out now the bits in a QR code are just crazy but if you can remember this relatively simple zig-zag pattern let me show you baking Wikipedia Wikipedia has a great little diagram for this as well where it shows you that the 1 2 3 4 5 6 7 8 that's if the pattern is going upwards and then here not there was this is the hands look for Euler it shows the wraparound thing that's going through here so you know which direction each bite is going you can see here um that the say for their example the w of w w pd org is going up so we know that going up is 1 2 3 4 5 6 7 8 however they kind of backwards too as you would think of a bit in a bite they say 1 is the most significant bit so in the bite one would be 128 and then 64 then 32 16 8 4 2 and 1 so kind of thinking downwards if you can starting here and coding we go 8 4 2 1 because it's only 4 4 bits long but the next one is 128 64 32 16 8 4 2 1 so if you can think of this zig-zag pattern right to left and then I continue zigzagging to get to the top now the top and the bottom these these sideways bites acts lightly different whereas they if we were to go up the pattern here 128 64 32 16 8 4 2 1 and then continuing that same pattern 128 64 32 16 now we can think about it as if we are now going left to right the same zig-zag pattern so we get 8 4 to 1 and then I'm sorry this is this is still right to left isn't it my mistake anyhow so right to left 8 4 to 1 128 64 32 16 8 4 to 1 you can see is backwards of the up Direction versus the down direct really crazy stuff isn't it now you can always reference Wikipedia to you know refigure this out or you know you can always come back to this video and watch a hundred times I wouldn't mind that at all anyways continuing let's figure out what these bytes meet now this is where the this is where it really comes into play of watch what here so looking we know this is our encoding byte are encoding bits it's not a full byte this is our length byte and so the first byte to actually start after that is right here and so we're looking to see which ones are filled out you can see the dark gray areas here are the actual unmasked bits that we pulled out so it's 64 16 and 2 equals a total of 82 now if I go to an ASCII chart 82 is right here 82 coming across my ASCII chart is a capital R oh look at that we actually have real while we expect data very cool so now coming over to the next one I have let's see 64 32 8 4 2 & 1 which in total equals 111 going to our ASCII chart 111 stupid thing get out of it 111 equals a lowercase o oh holy crap look at that that's really sweet and coming down now we got our upside down bit pattern but it functions the exact same way 64 32 and 2 equals in total sum together in 98 now 98 go right to at 98 right there in decimal equals an ASCII lowercase B I think you're getting what's happening here now our next byte again equals o and I've kind of found this interesting how this pattern equals this pattern aside which was our first oh and so you know the same thing here 64 32 8 42 1 equals 111 which equals the ASCII O and so continuing on this is the lower one going sideways so 64 32 8 4 1 equals 109 a ski that and 109 equals the lowercase M so we've actually got Robo M so far pretty cool now why am I going through each one of these well because you know I want to really drive home the point of how this whole thing works I mean I it's pretty cool it's just awful to figure out anyways this bike here 6 4 3 2 and 1 equals 97 which is an ASCII lowercase a 64 32 16 and force is 116 sum together which is an ASCII t s QT is a hundred and sixteen right there very cool and let's see come across the top again 64 32 8 1 is 105 which is lowercase I 64 32 2 and 1 is 100 is 99 which equals or KC and our finally our last one is 64 32 16 2 and 1 which is a 115 which is a lowercase s right there very cool and then finally our last piece here is the complete empty four bits and a and an end thing I forget what you would call that the encoding chunk whatever that's really to kind of offset the four bits that were used here I'm sure if this thing we're longer like if I had more in here it may take up some more the error correction just may be less and the encoding would then shift from here you would have a four bar sorry an 8 bit section here and then it would come up and wherever us it would end you have to say other four oh man 8-bit chunk here and say this guy was your end of end of string if you will and then your error correction would start right here so there we are that is decoding a QR code by hand so you can have fun with it decoding it by hand just because you wanted to learn how or you can make the next awesome program and make tons of money just after you make tons of money remember general power rule with Macs and come watch these videos a whole bunch of time so I get a whole bunch of quarters of pennies anyways have fun with that
Info
Channel: Pillazo
Views: 438,759
Rating: undefined out of 5
Keywords: tutorial, QR, Code, Decode, 2D, datamatrix, pdf417, barcode, encode, make, how to
Id: KA8hDldvfv0
Channel Id: undefined
Length: 20min 10sec (1210 seconds)
Published: Sat Mar 30 2013
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.