I remember recently being confused when 'Ojox' turned up on a couple of config files... turns out it's the base64 encoding of the IPv6 loopback address, '::1'.
Man, I judge, but the original poster ("Huh, 'changeme' is valid Base64, who would've thunk?") is one ignorant programmer... I got explained how Base64 works when I was a pimply 12 year old while on a car trip, you don't even need pen and paper to explain it.
Interestingly "change_me!" is no longer legal, but the decoder might drop illegal characters and decode it anyway...
Well, if you're only 16, that would have been 4 years ago. Right about the time I learned about base64 as a guy in his late 30s who didn't have a computer science background.
We all start ignorant.
Interesting idea about the underscore, I'll try to keep that in mind.
It's bad to think "I'll put 'changeme' here because that won't be valid base64", because instead of admitting you don't know how base64 works (and maybe spending 5 minutes to look it up or at least experiment with it), you've pretended you do know and written some nonsense code based on that false assumption.
The smartest people I know are some of the best at knowing when to say "I don't know".
Sorry if it came across as a put down. I was more questioning the use of language around calling people ignorant for not knowing how base64 works.
I thought if you're older than 16 (even in their 40s like I am), being called 16 again could just amuse you. After all, it's not really relevant to my point.
My point is: we all start somewhere. Think twice before belittling the ignorant; either educate them or ignore them.
Where are you putting your self value if you belittle the ignorant while doing nothing to uplift them?
Point taken, although Base64 feels "easy", the guy's "About Me" says he's in uni doing computer science, IMO he should've learnt a bit of history of how some systems were only ASCII-compatible and mangled the 8th bit, etc. But "shoulds" are subjective, obviously.
True about ignorance, if you asked me, I don't know how GZIP works (I skimmed through the explanation, it looked hard, I didn't bother with it further), although recently I learned how the JPEG compression works (with discrete cosine transformations), and yeah, to agree with you, that's more than 2 decades after I started tinkering with computers.
The worst part for me is, it's the back of my head, where I can't see it. To a thousand other people, I'm a guy with a bald spot a mile wide, and to me in the mirror, it's like, oh, I need to run some clippers over this golliwog do before people think I'm a hippy.
One day I'll replace my pattern of scalp growth with a permanent base 64 underscore, and then everyone will be happy.
> Interestingly "change_me!" is no longer legal, but the decoder might drop illegal characters and decode it anyway...
Python’s infamously does that which can be a nasty surprise the first time you stumble upon it.
Validation of the input alphabet is opt-in (and somewhat recent), the default is stripping (probably originally for simplicity with respect to MIME) and will only error on padding check failure.
Somewhat oddly given the alphabet validation thing, the stdlib does not support unpadded base64 whether as input or output.