How to figure out if data is base64encoded.

  • Thread starter Thread starter Jeremy Chapman
  • Start date Start date
J

Jeremy Chapman

Is there some way to programatically tell if a string is base64 encoded?
 
Jeremy said:
Is there some way to programatically tell if a string is base64
encoded?

In general, no.

However, if a string contains only the base64 characrter set [a-zA-Z0-9+/],
ends in 0, 1 or 2 equals signs ('=') and is a multiple of 4 characters in
total length, then it is a valid base64 encoding of something. Of course,
that could occur completely by coincidence - the string "c3U=" is a valid
Base64 string, but it's not the encoding of anything particularly useful.

-cd
 
I think the easiest and fastest way is to just try and decode it and catch
falure. If it fails, it is not base64 or is invalid base64 for some reason.
Then you can tell in 1 pass. If you try to walk it first just see if it is
valid, you end up with 2 passes (1 for the test and 1 for the actual
decode) - so IMO, it is not worth it anyway.

--
William Stacey [MVP]

| Is there some way to programatically tell if a string is base64 encoded?
|
|
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top