Hey, thanks to everybody that likes the video, I appreciate it. But don't expect another one (God knows how I managed to make this one!) I'm actually just totally pissed offf with programming. I'm fecking hopeless at what I do could not code myself out of a wet paper bag!
good stuff. no one ever addresses the more 'embedded processing' or graphics raw-binary data view when describing BASE64. You can I think just start with a 24 bits of raw data (ADC result, or a set of 24 boolean sensor values) and code them into the 4 bytes. It's not clear to me how they would be unpacked at the far end. Just noticed how old this vid is, but nice nonetheless.
When explaining anything when you go from and to the binary Leaving out that explanation you have not explained anything in reality.... while I already know how it works its always best to cover everything .... is like saying fuel and air go in the front of a jet engine then (magic happens) and exhaust comes out the back ..... all the important stuff is missing.... just sayin if your gonna do something might as well do it right and thoroughly
This video is better than the other which was speaking so fast and I couldn't understand any thing and the animation of Your video is very better, Thank you very much
@@Outatime Why do shops usually display prices as "$1.50" instead of "$1.5"? Why put the 'useless' padding zero on the end??? Because that is the convention used in many cultures (although I've noticed this convention is 'loosening up' more and more.) Why? Because that is the way it is done. You're free to break with convention and NOT apply padding... Just know that files that don't follow convention are considered 'corrupted'... Why do we use '@' in email addresses? Because that is the accepted convention and LOTS of software has been written to both 'use' and 'expect' that convention to be followed... Why use 'A-Za-z0-9+/'? Why not 'a-z0-9A-Z!-'?? ("be unconventional") Why Morse code for 'E' just 'dot'??? The answer is "Because it is". Base64 encoded files will ALWAYS have a size that is evenly divisible by 4. That's the definition... Accept it.
@@rustycherkas8229 you’re missing my point. the equal mark would make sense if it was always there and if there was a rule to it, but no, sometimes it’s there, sometimes it isn’t. What I want to know is what that depends on.
@@Outatime Input is 'chunked' into blocks of 3 bytes... In 3 bytes - Out 4 chars + (nothing) In 2 bytes - Out 3 chars + "=" In 1 byte - Out 2 chars + "==" Output byte count is ALWAYS evenly divisible by 4... THAT is the definition. That is the rule you are trying to see. That is why an encoded file ends with 0, 1 or 2 "equals" ensuring the encoded file size is evenly divisible by 4... *Edit* Input of 4 bytes is input of 3 + input of 1. Input of 5 bytes is input of 3 + input of 2. Input of 6 bytes is input of 3... twice... I hope you can see the pattern forming...
The chosen base64 encoding peeves me because it's very confusing, compared to the type of system RU-vid uses according to Tom Scott. I prefer it being like all other number systems that use Hindu-Arabic numerals and the Latin alphabet: the numbers 0-9 first, then the uppercase letters, then the lowercase, then the two extra symbols. I prefer RU-vid's base64 system over the one described in this video. If RU-vid really has been using Tom Scott's described system.
I tried encoding a number of 5 digits and it didn’t work so I encoded it using a encoding website and then copied the result and tried decoding it and it still didn’t work
Hi - how do you work out Base64 coded string back into it's original state? The video explains how and goes to QW5K but if we was given QW5K how do we revert this back to and without knowing it was originally and?
Because the original data might contain control characters which the receiving end would act upon. Base64 converts ALL data to pure text, (ie. letters and numbers - no control data) so the receiving end will see it as text only. Once all the data is received it will be converted back to its original format.
The whole point of base64 is to be able to send non-printable byte data over a channel that only supports printable data. It makes no sense to show an ascii string being converted to base64. You could just send the ascii string! I think some people think that base64 is some kind of cryptography tool: it is not.
The output of base64 encoding should give a number of symbols that is a multiple of 4. If you only needed two symbols then you put two equals signs to make it up to four.
In example g character, why did you padded out with two equal signs instead of one like the subsequent example ? Is it because you used base 4 so 4^0 > 4^1 > 4^2 > 4^3 = 64 ?
Simply because we need to pad it out to 4 characters. The basic process takes 3 bytes and turns them into 4 alphanumeric (text) characters. When you reach the end of the input, if there's less than 3 bytes, you still need to pad out it out to 4 characters. If 1 byte is left, that converts to 2 chars, so two pad chars (equals sign) are needed. If 2 bytes are left, that converts to 3 chars, so only one pad is needed.