Base64 Characters
The Base64 Alphabet contains 64 basic ASCII characters which are used to encode data. Yeah, that’s right, 64 characters is enough to encode any data of any length. The only drawback is that the size of the result will increase to 33%. However, its benefits are much more important, at least because all these symbols are available in 7-bit and 8-bit character sets.
Characters of the Base64 alphabet can be grouped into four groups:
- Uppercase letters (indices 0-25):
ABCDEFGHIJKLMNOPQRSTUVWXYZ
- Lowercase letters (indices 26-51):
abcdefghijklmnopqrstuvwxyz
- Digits (indices 52-61):
0123456789
- Special symbols (indices 62-63):
+/
It is very important to note that the Base64 letters are case sensitive. This means that, for example, when decoding the values “QQ==”, “Qq==”, “qq==”, and “qQ==” four different results are obtained.
For a better understanding, I grouped all characters into the Base64 table:
Index | Character |
---|---|
0 | A |
1 | B |
2 | C |
3 | D |
4 | E |
5 | F |
6 | G |
7 | H |
8 | I |
9 | J |
10 | K |
11 | L |
12 | M |
13 | N |
14 | O |
15 | P |
16 | Q |
17 | R |
18 | S |
19 | T |
20 | U |
21 | V |
22 | W |
23 | X |
24 | Y |
25 | Z |
Index | Character |
---|---|
26 | a |
27 | b |
28 | c |
29 | d |
30 | e |
31 | f |
32 | g |
33 | h |
34 | i |
35 | j |
36 | k |
37 | l |
38 | m |
39 | n |
40 | o |
41 | p |
42 | q |
43 | r |
44 | s |
45 | t |
46 | u |
47 | v |
48 | w |
49 | x |
50 | y |
51 | z |
Index | Character |
---|---|
52 | 0 |
53 | 1 |
54 | 2 |
55 | 3 |
56 | 4 |
57 | 5 |
58 | 6 |
59 | 7 |
60 | 8 |
61 | 9 |
Index | Character |
---|---|
62 | + |
63 | / |
In addition to these characters, the equal sign (=
) is used for padding. That is, the equal sign does not own an index and is not involved in the encoding of data. By and large, the padding character ensures that the length of Base64 value is a multiple of 4 bytes and it is always appended at the end of the output. Nevertheless, the heart of the algorithm contains only 64 characters, and for each of them there is a unique index. Only indices determine which characters will be used to encode the data, and only thanks to them you can “recover” the original data. All indices are listed in the Base64 table above.
Given all of the above, a Base64 value can be defined using the following regular expression:
^[A-Za-z0-9+/]+={0,2}$
However, some standards allow and even require the use of multi-line values. In such cases, we need to supplement the list of characters, by allowing “Line Feed” and “Carriage Return”.
^[A-Za-z0-9+/\r\n]+={0,2}$
Comments (51)
I hope you enjoy this discussion. In any case, I ask you to join it.
Btw, I can't put a space in the Name field of this comment form. I was going to leave my first and last name but validation doesn't allow space.
Thank you for your comment. I’m glad you found this site useful.
I apologize for the inconvenience with the “name” field. At the moment, I can’t fix it because it may break some related things, but I’ll look into it as soon as possible.
By the way, if you want to remember the Base64 Characters you need just to remember the order of these four groups: Uppercase, Lowercase, Digits, and Symbols. That is, remembering this you can easily compute the Base64 alphabet since all indices, as well as Base64 characters, go in strict order.
If you are looking for furthermore reading, I recommend you to read What is Base64? as well as explanation of Encode Algorithm and Decode Algorithm.
Keep it up :)
Could you please, specify, how "the size of the result will increase to 33%" when in the introductory article you wrote that with the Base64 encoding source (binary) code would reduce by size not increase?
I deeply apologize for any misleading information.
If I understand you correctly, by “introductory article” do you mean What is Base64? If so, please note that there I compared the Base64 length with binary numeral system (where each byte is represented as 8 binary digits).
Anyway, for example, if you encode the string “ABC” (Length = 3) to Base64, the result is “QUJD” (Length = 4). That is, the result is approximately 33% (more exactly, 4/3) larger than the original data.
1. You have a wonderful, comprehensive tool here. Thank you for providing it!
2. I hope I can get your help with a code a friend sent me. I have been working on this for weeks and keep coming up short.
The code is:
Wm0hWW0uWW0hWW0uWW4iWW4uWW0hWW0hWW0hWm4uWW4iWW4uWm0hWW0uWW0hWW4uWWohWW4uWWohWW0=
I figured it was in base64 due to the = sign. I was told there were three steps to this code.
Can you make any sense of this?
Thank you for whatever guidance you may provide!
`Zm!Ym.Ym!Ym.Yn"Yn.Ym!Ym!Ym!Zn.Yn"Yn.Zm!Ym.Ym!Yn.Yj!Yn.Yj!Ym`
To respect your privacy, I did not proceed further :)
However, I wonder if each group of 3 characters represents some sort of base-3 number...
=
and some end with==
. In the Internet I found=
points "fill the ending of the last byte by zero-bits", but when should I use==
I couldn't find information...Some examples:
-
A
is encoded toQQ==
and there are appended two padding characters because neitherQQ
(2 chars) norQQ=
(3 chars) is divisible by 4.-
AB
is encoded toQUI=
and there is appended only one padding character becauseQUI
(3 chars) is not divisible by 4.-
ABC
is encoded toQUJD
and there is no need to add a padding character because Base64 string is 4 characters long (that is, it's divisible by 4).-
ABCD
is encoded toQUJDRA==
and there are appended two padding characters becauseQUJDRA
(6 chars) norQUJDRA=
(7 chars) is divisible by 4.-
ABCDE
is encoded toQUJDREU=
and there is appended only one padding character becauseQUJDREU=
(7 chars) is not divisible by 4.-
ABCDEF
is encoded toQUJDREVG
and there is no need to add a padding character because Base64 string is 8 characters long (that is, it's divisible by 4)./9j/
.My system specification shows the Bcrypt custom alphabet like this:
./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
+/
with-_
.V2pBalhOU2dXam1qV3RTZ1dqSTJYdFNnV2pTaldOU2dXakUyV0RTZ1dqbWpXdFNnV2pJMld0U2dXaklqV3RTZ1dqbWpYalNnV2pJaldqU2dXalNqV05TZ1dqSTJXdFNnV2pJald0U2dXakkyWHRTZ1dqU2pXTlNnV2pJald0U2dXakkyWHRTZ1dqSTJXdFNnV2pJMlhEU2dXaklqWURTZ1dqUzJXalNnV2pTaldOU2dXaldqV0RTZ1dqU2pXTlNnV2pJalhqU2dXakkyWHRTZ1dqSTJYdFNnV2ptalhEU2dXalNqV05TZ1dqSWpYTlNnV2ptaldqU2dXam1qWHRTZ1dqbWpYdFNnV2pTaldOU2dXam1qV2pTZ1dqSWpYTlNnV2pTalhqU2dXaklqV2pTZ1dqU2pXTlNnV2pJald0U2dXakkyWHRTZ1dqbWpYdFNnV2pJMlh0U2dXakkyV3RTZ1dqSWpXalNnV2pJMlh0U2dXalMyV2pTZ1dqU2pXTlNnV2pFald0U2dXakVqWURTZ1dqRWpYdFNnV2pBMlhEU2dXalNqV0RTZ1dqU2pXTlNnV2pFalhqU2dXam1qWURTZ1dqSWpXdFNnV2pJMlh0U2dXalNqV05TZ1dqSWpYTlNnV2ptald0U2dXam1qV2pTZ1dqbWpZTlNnV2ptaldEU2dXaklqV2pTZ1dqU2pXTlNnV2pJMld0U2dXaklqV3RTZ1dqSTJYdFNnV2pTaldOU2dXakkyWE5TZ1dqbWpZRFNnV2ptalhqU2dXam1qV2pTZ1dqbWpZTlNnV2ptaldEU2dXalMyV2pTZ1dqU2pXTlNnV2ptaldEU2dXakkyV3RTZ1dqbWpYalNnV2pJMlh0U2dXaklqV2pTZ1dqUzJXalNnV2pTaldOU2dXakkyV3RTZ1dqbWpZTlNnV2pJMlhEU2dXalNqV05TZ1dqbWpYalNnV2pJalhEU2dXakkyWE5TZ1dqbWpXdFNnV2pTaldOU2dXam1qWGpTZ1dqSWpYRFNnV2pJMlhOU2dXam1qV3RTZ1dqU2pXTlNnV2ptalhqU2dXam1qWURTZ1dqSWpXdFNnV2pJMlh0U2dXalNqV0E9PQ==
Thanks for helping us all out!
Can you please tell how do I extract relevant data of a base64 encoded image?
Eg:
Let's say I will always have a defined set of objects in my image (box, circle, triangle) on a white background. Can I create a code that will tell me which object (box etc) is present where in the image and is connected with which other object (let's say two objects are connected via line) - by reading the base64 encoded file?
A code that can read and convert my image into a defined JSON template is what I want.
Thanks.
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0XZzxWYmpj.06d1162
Looking at the end of the base64 string I sent, the placement of the "=" would seem to indicate that there is some sort of shifting or shuffling going on.
This is the json string encoded with plain base64:
eyJ0aXRsZSI6Ik1heSAxNSwgMjAyMiIsInN1YnRpdGxlIjoiIiwiZGVzY3JpcHRpb24iOiIiLCJjb3B5cmlnaHQiOiIiLCJhdXRob3IiOiJEZXJlayBCb3dtYW4iLCJwdWJsaXNoZXIiOiIiLCJhdXRob3JFbWFpbCI6IiIsImF1dGhvclVSTCI6IiIsImhlbHAiOiIiLCJwYXVzZU1lc3NhZ2UiOiIiLCJlbmRNZXNzYWdlIjoiIiwiYXR0cmlidXRpb25zIjoiIiwiaWQiOiJ3ZnBfMjAyMjA1MTVfMDQwMCIsImxvY2FsZSI6ImVuLVVTIiwicHV6emxlVHlwZSI6IkNST1NTV09SRCIsInNyY0pQWiI6dHJ1ZSwiaXNJbXBvcnRlZCI6dHJ1ZSwic3JjRmlsZU5hbWUiOiJ3ZnBfMjAyMjA1MTVfMDQwMC54bWwiLCJjcmVhdGlvblRpbWUiOjE2NTI0NDg1NDgyNjUsIm1vZGlmaWVkVGltZSI6MTY1MjQ0ODU0ODI2NSwicHVibGlzaFRpbWUiOjE2NTI1ODcyMDAwMDAsInB1Ymxpc2hUaW1lWm9uZSI6IlVUQyIsInJlcGxheSI6ZmFsc2UsIm11bHRpUGxheUVuYWJsZWQiOmZhbHNlLCJ2aWRlb1ByZXJvbGxBZHMiOmZhbHNlLCJkaXNwbGF5QWRzIjpmYWxzZSwiY29ycmVjdFdvcmRQb2ludHMiOjEwLCJsZXR0ZXJQZW5hbHR5IjotMSwiYm9udXNQb2ludHMiOjE1LCJ0YXJnZXRUaW1lIjoxNSwibGlua1BlbmFsdHkiOi01LCJjaGVja1BERiI6dHJ1ZSwiY2x1ZURpc3BsYXkiOiJ0ZXh0IiwibWVkaWFQcmV2aWV3RW5hYmxlZCI6ZmFsc2UsIm1lZGlhUHJldmlld0FuZFRleHRFbmFibGVkIjp0cnVlLCJjb2xvckZlZWRiYWNrRW5hYmxlZCI6ZmFsc2UsImFsbG93U2hhcmluZyI6ZmFsc2UsImhpZGVDbHVlQ29sdW1ucyI6ZmFsc2UsIndvcmRMZW5ndGhzRW5hYmxlZCI6ZmFsc2UsInNob3dTdGFydEJ1dHRvbiI6ZmFsc2UsImNhc2VTZW5zaXRpdmUiOmZhbHNlLCJkZWZhdWx0SGludHNFbmFibGVkIjpmYWxzZSwiaGludHNFbmFibGVkIjp0cnVlLCJyZXZlYWxFbmFibGVkIjp0cnVlLCJjaGVja0VuYWJsZWQiOnRydWUsImVycm9yQ2hlY2tNb2RlRW5hYmxlZCI6dHJ1ZSwic2hvd1JlYnVzIjpmYWxzZSwiYXJ0aWNsZUhpbnRzRW5hYmxlZCI6ZmFsc2UsImNvbnRlc3RNb2RlRW5hYmxlZCI6ZmFsc2UsImdhdGhlckVtYWlsIjpmYWxzZSwiZ2F0aGVyTW9iaWxlIjpmYWxzZSwiZ2F0aGVyTmFtZSI6ZmFsc2UsInVubGlua0dyaWRBbmRDbHVlcyI6ZmFsc2UsImhpZGVJblBpY2tlciI6ZmFsc2UsInciOjksImgiOjksImJveCI6W1siRyIsIlAiLCJTIiwiXHUwMDAwIiwiQSIsIkMiLCJIIiwiRSIsIkQiXSxbIlUiLCJBIiwiRSIsIlx1MDAwMCIsIlAiLCJMIiwiQSIsIk4iLCJFIl0sWyJFIiwiViIsIkEiLCJcdTAwMDAiLCJQIiwiQSIsIkkiLCJMIiwiUyJdLFsiUyIsIkEiLCJMIiwiRSIsIlMiLCJTIiwiTCIsIkkiLCJQIl0sWyJUIiwiUiIsIkUiLCJTIiwiXHUwMDAwIiwiUCIsIkEiLCJWIiwiRSJdLFsiUCIsIk8iLCJEIiwiQyIsIkEiLCJTIiwiVCIsIkUiLCJSIl0sWyJBIiwiVCIsIkIiLCJBIiwiWSIsIlx1MDAwMCIsIkEiLCJOIiwiQSJdLFsiUyIsIlQiLCJJIiwiUCIsIkUiLCJcdTAwMDAiLCJYIiwiRSIsIkQiXSxbIlMiLCJJIiwiRCIsIkUiLCJTIiwiXHUwMDAwIiwiSSIsIkQiLCJPIl1dLCJjbHVlTnVtcyI6W1sxLDEwLDExLDAsMTMsMTcsMTksMjMsMjRdLFsyLDAsMCwwLDE0LDAsMCwwLDBdLFszLDAsMCwwLDE1LDAsMCwwLDBdLFs0LDAsMCwxMiwwLDAsMCwwLDBdLFs1LDAsMCwwLDAsMTgsMCwwLDBdLFs2LDAsMCwwLDE2LDAsMCwwLDBdLFs3LDAsMCwwLDAsMCwyMCwwLDBdLFs4LDAsMCwwLDAsMCwyMSwwLDBdLFs5LDAsMCwwLDAsMCwyMiwwLDBdXSwicGxhY2VkV29yZHMiOlt7IndvcmQiOiJHVUVTVFBBU1MiLCJvcmlnaW5hbFRlcm0iOiJHVUVTVFBBU1MiLCJuQm94ZXMiOjksIngiOjAsInkiOjAsImFjcm9zc05vdERvd24iOnRydWUsImRpcmVjdGlvbiI6IkUiLCJjbHVlU2VjdGlvbiI6IkFjcm9zcyIsImNsdWVOdW0iOjEsImNsdWUiOnsiZGF0ZSI6MCwiY2x1ZSI6IldheSB0byB0cnkgb3V0IGEgbmV3IGd5bTogMiB3ZHMuIiwiZnVsbFNlbnRlbmNlTG93ZXJDYXNlIjoiIn0sIndvcmRMZW5zIjpbOV0sImludGVyc2VjdHMiOmZhbHNlfSx7IndvcmQiOiJQQVZBUk9UVEkiLCJvcmlnaW5hbFRlcm0iOiJQQVZBUk9UVEkiLCJuQm94ZXMiOjksIngiOjAsInkiOjEsImFjcm9zc05vdERvd24iOnRydWUsImRpcmVjdGlvbiI6IkUiLCJjbHVlU2VjdGlvbiI6IkFjcm9zcyIsImNsdWVOdW0iOjEwLCJjbHVlIjp7ImRhdGUiOjAsImNsdWUiOiJPbmUgb2YgYSB0cmlvIG9mIGZhbW91cyB0ZW5vcnMiLCJmdWxsU2VudGVuY2VMb3dlckNhc2UiOiIifSwid29yZExlbnMiOls5XSwiaW50ZXJzZWN0cyI6ZmFsc2V9LHsid29yZCI6IlNFQUxFREJJRCIsIm9yaWdpbmFsVGVybSI6IlNFQUxFREJJRCIsIm5Cb3hlcyI6OSwieCI6MCwieSI6MiwiYWNyb3NzTm90RG93biI6dHJ1ZSwiZGlyZWN0aW9uIjoiRSIsImNsdWVTZWN0aW9uIjoiQWNyb3NzIiwiY2x1ZU51bSI6MTEsImNsdWUiOnsiZGF0ZSI6MCwiY2x1ZSI6IkJsaW5kIGFjdGlvbiwgYXQgYW4gYXVjdGlvbjogMiB3ZHMuIiwiZnVsbFNlbnRlbmNlTG93ZXJDYXNlIjoiIn0sIndvcmRMZW5zIjpbOV0sImludGVyc2VjdHMiOmZhbHNlfSx7IndvcmQiOiJFU0NBUEUiLCJvcmlnaW5hbFRlcm0iOiJFU0NBUEUiLCJuQm94ZXMiOjYsIngiOjMsInkiOjMsImFjcm9zc05vdERvd24iOnRydWUsImRpcmVjdGlvbiI6IkUiLCJjbHVlU2VjdGlvbiI6IkFjcm9zcyIsImNsdWVOdW0iOjEyLCJjbHVlIjp7ImRhdGUiOjAsImNsdWUiOiJCcmVhayBvdXQiLCJmdWxsU2VudGVuY2VMb3dlckNhc2UiOiIifSwid29yZExlbnMiOls2XSwiaW50ZXJzZWN0cyI6ZmFsc2V9LHsid29yZCI6IkFQUFMiLCJvcmlnaW5hbFRlcm0iOiJBUFBTIiwibkJveGVzIjo0LCJ4IjowLCJ5Ijo0LCJhY3Jvc3NOb3REb3duIjp0cnVlLCJkaXJlY3Rpb24iOiJFIiwiY2x1ZVNlY3Rpb24iOiJBY3Jvc3MiLCJjbHVlTnVtIjoxMywiY2x1ZSI6eyJkYXRlIjowLCJjbHVlIjoiU25hcGNoYXQgYW5kIFRpa1RvaywgZm9yIHR3byIsImZ1bGxTZW50ZW5jZUxvd2VyQ2FzZSI6IiJ9LCJ3b3JkTGVucyI6WzRdLCJpbnRlcnNlY3RzIjpmYWxzZX0seyJ3b3JkIjoiQVlFUyIsIm9yaWdpbmFsVGVybSI6IkFZRVMiLCJuQm94ZXMiOjQsIngiOjUsInkiOjQsImFjcm9zc05vdERvd24iOnRydWUsImRpcmVjdGlvbiI6IkUiLCJjbHVlU2VjdGlvbiI6IkFjcm9zcyIsImNsdWVOdW0iOjE2LCJjbHVlIjp7ImRhdGUiOjAsImNsdWUiOiJWb3RlcyBmb3IiLCJmdWxsU2VudGVuY2VMb3dlckNhc2UiOiIifSwid29yZExlbnMiOls0XSwiaW50ZXJzZWN0cyI6ZmFsc2V9LHsid29yZCI6IkNMQVNQUyIsIm9yaWdpbmFsVGVybSI6IkNMQVNQUyIsIm5Cb3hlcyI6NiwieCI6MCwieSI6NSwiYWNyb3NzTm90RG93biI6dHJ1ZSwiZGlyZWN0aW9uIjoiRSIsImNsdWVTZWN0aW9uIjoiQWNyb3NzIiwiY2x1ZU51bSI6MTcsImNsdWUiOnsiZGF0ZSI6MCwiY2x1ZSI6IkhvbGRzIG9uIHRpZ2h0bHkgdG8iLCJmdWxsU2VudGVuY2VMb3dlckNhc2UiOiIifSwid29yZExlbnMiOls2XSwiaW50ZXJzZWN0cyI6ZmFsc2V9LHsid29yZCI6IkhBSUxBVEFYSSIsIm9yaWdpbmFsVGVybSI6IkhBSUxBVEFYSSIsIm5Cb3hlcyI6OSwieCI6MCwieSI6NiwiYWNyb3NzTm90RG93biI6dHJ1ZSwiZGlyZWN0aW9uIjoiRSIsImNsdWVTZWN0aW9uIjoiQWNyb3NzIiwiY2x1ZU51bSI6MTksImNsdWUiOnsiZGF0ZSI6MCwiY2x1ZSI6IlNpZ25hbCB0byBiZSBwaWNrZWQgdXA6IDMgd2RzLiIsImZ1bGxTZW50ZW5jZUxvd2VyQ2FzZSI6IiJ9LCJ3b3JkTGVucyI6WzldLCJpbnRlcnNlY3RzIjpmYWxzZX0seyJ3b3JkIjoiRU5MSVZFTkVEIiwib3JpZ2luYWxUZXJtIjoiRU5MSVZFTkVEIiwibkJveGVzIjo5LCJ4IjowLCJ5Ijo3LCJhY3Jvc3NOb3REb3duIjp0cnVlLCJkaXJlY3Rpb24iOiJFIiwiY2x1ZVNlY3Rpb24iOiJBY3Jvc3MiLCJjbHVlTnVtIjoyMywiY2x1ZSI6eyJkYXRlIjowLCJjbHVlIjoiU3BydWNlZCB1cCIsImZ1bGxTZW50ZW5jZUxvd2VyQ2FzZSI6IiJ9LCJ3b3JkTGVucyI6WzldLCJpbnRlcnNlY3RzIjpmYWxzZX0seyJ3b3JkIjoiREVTUEVSQURPIiwib3JpZ2luYWxUZXJtIjoiREVTUEVSQURPIiwibkJveGVzIjo5LCJ4IjowLCJ5Ijo4LCJhY3Jvc3NOb3REb3duIjp0cnVlLCJkaXJlY3Rpb24iOiJFIiwiY2x1ZVNlY3Rpb24iOiJBY3Jvc3MiLCJjbHVlTnVtIjoyNCwiY2x1ZSI6eyJkYXRlIjowLCJjbHVlIjoiR3Vuc2xpbmdpbmcgb3V0bGF3IiwiZnVsbFNlbnRlbmNlTG93ZXJDYXNlIjoiIn0sIndvcmRMZW5zIjpbOV0sImludGVyc2VjdHMiOmZhbHNlfSx7IndvcmQiOiJHUFMiLCJvcmlnaW5hbFRlcm0iOiJHUFMiLCJuQm94ZXMiOjMsIngiOjAsInkiOjAsImFjcm9zc05vdERvd24iOmZhbHNlLCJkaXJlY3Rpb24iOiJTIiwiY2x1ZVNlY3Rpb24iOiJEb3duIiwiY2x1ZU51bSI6MSwiY2x1ZSI6eyJkYXRlIjowLCJjbHVlIjoiTmF2aWdhdGlvbiBhaWQsIGZvciBzaG9ydCIsImZ1bGxTZW50ZW5jZUxvd2VyQ2FzZSI6IiJ9LCJ3b3JkTGVucyI6WzNdLCJpbnRlcnNlY3RzIjpmYWxzZX0seyJ3b3JkIjoiVUFFIiwib3JpZ2luYWxUZXJtIjoiVUFFIiwibkJveGVzIjozLCJ4IjoxLCJ5IjowLCJhY3Jvc3NOb3REb3duIjpmYWxzZSwiZGlyZWN0aW9uIjoiUyIsImNsdWVTZWN0aW9uIjoiRG93biIsImNsdWVOdW0iOjIsImNsdWUiOnsiZGF0ZSI6MCwiY2x1ZSI6IkR1YmFpIGxvY2FsZTogQWJici4iLCJmdWxsU2VudGVuY2VMb3dlckNhc2UiOiIifSwid29yZExlbnMiOlszXSwiaW50ZXJzZWN0cyI6ZmFsc2V9LHsid29yZCI6IkVWQSIsIm9yaWdpbmFsVGVybSI6IkVWQSIsIm5Cb3hlcyI6MywieCI6MiwieSI6MCwiYWNyb3NzTm90RG93biI6ZmFsc2UsImRpcmVjdGlvbiI6IlMiLCJjbHVlU2VjdGlvbiI6IkRvd24iLCJjbHVlTnVtIjozLCJjbHVlIjp7ImRhdGUiOjAsImNsdWUiOiJHYWJvciBvZiBcIkdyZWVuIEFjcmVzXCIiLCJmdWxsU2VudGVuY2VMb3dlckNhc2UiOiIifSwid29yZExlbnMiOlszXSwiaW50ZXJzZWN0cyI6ZmFsc2V9LHsid29yZCI6IlNBTEVTU0xJUCIsIm9yaWdpbmFsVGVybSI6IlNBTEVTU0xJUCIsIm5Cb3hlcyI6OSwieCI6MywieSI6MCwiYWNyb3NzTm90RG93biI6ZmFsc2UsImRpcmVjdGlvbiI6IlMiLCJjbHVlU2VjdGlvbiI6IkRvd24iLCJjbHVlTnVtIjo0LCJjbHVlIjp7ImRhdGUiOjAsImNsdWUiOiJSZWNlaXB0OiAyIHdkcy4iLCJmdWxsU2VudGVuY2VMb3dlckNhc2UiOiIifSwid29yZExlbnMiOls5XSwiaW50ZXJzZWN0cyI6ZmFsc2V9LHsid29yZCI6IlRSRVMiLCJvcmlnaW5hbFRlcm0iOiJUUkVTIiwibkJveGVzIjo0LCJ4Ijo0LCJ5IjowLCJhY3Jvc3NOb3REb3duIjpmYWxzZSwiZGlyZWN0aW9uIjoiUyIsImNsdWVTZWN0aW9uIjoiRG93biIsImNsdWVOdW0iOjUsImNsdWUiOnsiZGF0ZSI6MCwiY2x1ZSI6IlwiX19fIGJpZW4hXCIiLCJmdWxsU2VudGVuY2VMb3dlckNhc2UiOiIifSwid29yZExlbnMiOls0XSwiaW50ZXJzZWN0cyI6ZmFsc2V9LHsid29yZCI6IlBPRENBU1RFUiIsIm9yaWdpbmFsVGVybSI6IlBPRENBU1RFUiIsIm5Cb3hlcyI6OSwieCI6NSwieSI6MCwiYWNyb3NzTm90RG93biI6ZmFsc2UsImRpcmVjdGlvbiI6IlMiLCJjbHVlU2VjdGlvbiI6IkRvd24iLCJjbHVlTnVtIjo2LCJjbHVlIjp7ImRhdGUiOjAsImNsdWUiOiJJbnRlcm5ldCBwZXJzb25hbGl0eSB3aXRoIGEgbWljcm9waG9uZSIsImZ1bGxTZW50ZW5jZUxvd2VyQ2FzZSI6IiJ9LCJ3b3JkTGVucyI6WzldLCJpbnRlcnNlY3RzIjpmYWxzZX0seyJ3b3JkIjoiQVRCQVkiLCJvcmlnaW5hbFRlcm0iOiJBVEJBWSIsIm5Cb3hlcyI6NSwieCI6NiwieSI6MCwiYWNyb3NzTm90RG93biI6ZmFsc2UsImRpcmVjdGlvbiI6IlMiLCJjbHVlU2VjdGlvbiI6IkRvd24iLCJjbHVlTnVtIjo3LCJjbHVlIjp7ImRhdGUiOjAsImNsdWUiOiJVbmRlciBjb250cm9sLCBhcyBhIHdpbGQgYW5pbWFsOiAyIHdkcy4iLCJmdWxsU2VudGVuY2VMb3dlckNhc2UiOiIifSwid29yZExlbnMiOls1XSwiaW50ZXJzZWN0cyI6ZmFsc2V9LHsid29yZCI6IlNUSVBFIiwib3JpZ2luYWxUZXJtIjoiU1RJUEUiLCJuQm94ZXMiOjUsIngiOjcsInkiOjAsImFjcm9zc05vdERvd24iOmZhbHNlLCJkaXJlY3Rpb24iOiJTIiwiY2x1ZVNlY3Rpb24iOiJEb3duIiwiY2x1ZU51bSI6OCwiY2x1ZSI6eyJkYXRlIjowLCJjbHVlIjoiUi5FLk0uIHNpbmdlciBNaWNoYWVsIiwiZnVsbFNlbnRlbmNlTG93ZXJDYXNlIjoiIn0sIndvcmRMZW5zIjpbNV0sImludGVyc2VjdHMiOmZhbHNlfSx7IndvcmQiOiJTSURFUyIsIm9yaWdpbmFsVGVybSI6IlNJREVTIiwibkJveGVzIjo1LCJ4Ijo4LCJ5IjowLCJhY3Jvc3NOb3REb3duIjpmYWxzZSwiZGlyZWN0aW9uIjoiUyIsImNsdWVTZWN0aW9uIjoiRG93biIsImNsdWVOdW0iOjksImNsdWUiOnsiZGF0ZSI6MCwiY2x1ZSI6IkRlYmF0ZSBwb3NpdGlvbnMiLCJmdWxsU2VudGVuY2VMb3dlckNhc2UiOiIifSwid29yZExlbnMiOls1XSwiaW50ZXJzZWN0cyI6ZmFsc2V9LHsid29yZCI6IkFDSEVEIiwib3JpZ2luYWxUZXJtIjoiQUNIRUQiLCJuQm94ZXMiOjUsIngiOjAsInkiOjQsImFjcm9zc05vdERvd24iOmZhbHNlLCJkaXJlY3Rpb24iOiJTIiwiY2x1ZVNlY3Rpb24iOiJEb3duIiwiY2x1ZU51bSI6MTMsImNsdWUiOnsiZGF0ZSI6MCwiY2x1ZSI6Ik5lZWRlZCBhIG1hc3NhZ2UsIG1heWJlIiwiZnVsbFNlbnRlbmNlTG93ZXJDYXNlIjoiIn0sIndvcmRMZW5zIjpbNV0sImludGVyc2VjdHMiOmZhbHNlfSx7IndvcmQiOiJQTEFORSIsIm9yaWdpbmFsVGVybSI6IlBMQU5FIiwibkJveGVzIjo1LCJ4IjoxLCJ5Ijo0LCJhY3Jvc3NOb3REb3duIjpmYWxzZSwiZGlyZWN0aW9uIjoiUyIsImNsdWVTZWN0aW9uIjoiRG93biIsImNsdWVOdW0iOjE0LCJjbHVlIjp7ImRhdGUiOjAsImNsdWUiOiJJdFx1MDAyN3MgdXAgaW4gdGhlIGFpciIsImZ1bGxTZW50ZW5jZUxvd2VyQ2FzZSI6IiJ9LCJ3b3JkTGVucyI6WzVdLCJpbnRlcnNlY3RzIjpmYWxzZX0seyJ3b3JkIjoiUEFJTFMiLCJvcmlnaW5hbFRlcm0iOiJQQUlMUyIsIm5Cb3hlcyI6NSwieCI6MiwieSI6NCwiYWNyb3NzTm90RG93biI6ZmFsc2UsImRpcmVjdGlvbiI6IlMiLCJjbHVlU2VjdGlvbiI6IkRvd24iLCJjbHVlTnVtIjoxNSwiY2x1ZSI6eyJkYXRlIjowLCJjbHVlIjoiQmVhY2ggcGxheXRoaW5ncyIsImZ1bGxTZW50ZW5jZUxvd2VyQ2FzZSI6IiJ9LCJ3b3JkTGVucyI6WzVdLCJpbnRlcnNlY3RzIjpmYWxzZX0seyJ3b3JkIjoiUEFWRSIsIm9yaWdpbmFsVGVybSI6IlBBVkUiLCJuQm94ZXMiOjQsIngiOjQsInkiOjUsImFjcm9zc05vdERvd24iOmZhbHNlLCJkaXJlY3Rpb24iOiJTIiwiY2x1ZVNlY3Rpb24iOiJEb3duIiwiY2x1ZU51bSI6MTgsImNsdWUiOnsiZGF0ZSI6MCwiY2x1ZSI6IkRvIHNvbWUgcm9hZHdvcmsiLCJmdWxsU2VudGVuY2VMb3dlckNhc2UiOiIifSwid29yZExlbnMiOls0XSwiaW50ZXJzZWN0cyI6ZmFsc2V9LHsid29yZCI6IkFOQSIsIm9yaWdpbmFsVGVybSI6IkFOQSIsIm5Cb3hlcyI6MywieCI6NiwieSI6NiwiYWNyb3NzTm90RG93biI6ZmFsc2UsImRpcmVjdGlvbiI6IlMiLCJjbHVlU2VjdGlvbiI6IkRvd24iLCJjbHVlTnVtIjoyMCwiY2x1ZSI6eyJkYXRlIjowLCJjbHVlIjoiU2VyYmlhbiBQTSBfX18gQnJuYWJpYyIsImZ1bGxTZW50ZW5jZUxvd2VyQ2FzZSI6IiJ9LCJ3b3JkTGVucyI6WzNdLCJpbnRlcnNlY3RzIjpmYWxzZX0seyJ3b3JkIjoiWEVEIiwib3JpZ2luYWxUZXJtIjoiWEVEIiwibkJveGVzIjozLCJ4Ijo3LCJ5Ijo2LCJhY3Jvc3NOb3REb3duIjpmYWxzZSwiZGlyZWN0aW9uIjoiUyIsImNsdWVTZWN0aW9uIjoiRG93biIsImNsdWVOdW0iOjIxLCJjbHVlIjp7ImRhdGUiOjAsImNsdWUiOiJDcm9zc2VkIChvdXQpIiwiZnVsbFNlbnRlbmNlTG93ZXJDYXNlIjoiIn0sIndvcmRMZW5zIjpbM10sImludGVyc2VjdHMiOmZhbHNlfSx7IndvcmQiOiJJRE8iLCJvcmlnaW5hbFRlcm0iOiJJRE8iLCJuQm94ZXMiOjMsIngiOjgsInkiOjYsImFjcm9zc05vdERvd24iOmZhbHNlLCJkaXJlY3Rpb24iOiJTIiwiY2x1ZVNlY3Rpb24iOiJEb3duIiwiY2x1ZU51bSI6MjIsImNsdWUiOnsiZGF0ZSI6MCwiY2x1ZSI6IlwiV2hvIHdhbnRzIGljZSBjcmVhbT9cIiBhbnN3ZXI6IDIgd2RzLiIsImZ1bGxTZW50ZW5jZUxvd2VyQ2FzZSI6IiJ9LCJ3b3JkTGVucyI6WzNdLCJpbnRlcnNlY3RzIjpmYWxzZX1dLCJib3hUb1BsYWNlZFdvcmRzSWR4cyI6W1tbMCwxMF0sWzEsMTBdLFsyLDEwXSxudWxsLFs0LDE5XSxbNiwxOV0sWzcsMTldLFs4LDE5XSxbOSwxOV1dLFtbMTEsMF0sWzEsMTFdLFsyLDExXSxudWxsLFsyMCw0XSxbNiwyMF0sWzcsMjBdLFs4LDIwXSxbOSwyMF1dLFtbMTIsMF0sWzEsMTJdLFsyLDEyXSxudWxsLFsyMSw0XSxbNiwyMV0sWzcsMjFdLFs4LDIxXSxbOSwyMV1dLFtbMTMsMF0sWzEsMTNdLFsyLDEzXSxbMywxM10sWzQsMTNdLFs2LDEzXSxbNywxM10sWzgsMTNdLFs5LDEzXV0sW1sxNCwwXSxbMSwxNF0sWzIsMTRdLFszLDE0XSxudWxsLFsyMiw2XSxbNywyMl0sWzgsMjJdLFs5LDIyXV0sW1sxNSwwXSxbMSwxNV0sWzIsMTVdLFszLDE1XSxbNSwxNV0sWzYsMTVdLFs3LDE1XSxbOCwxNV0sWzksMTVdXSxbWzE2LDBdLFsxLDE2XSxbMiwxNl0sWzMsMTZdLFs1LDE2XSxudWxsLFsyMyw3XSxbOCwyM10sWzksMjNdXSxbWzE3LDBdLFsxLDE3XSxbMiwxN10sWzMsMTddLFs1LDE3XSxudWxsLFsyNCw3XSxbOCwyNF0sWzksMjRdXSxbWzE4LDBdLFsxLDE4XSxbMiwxOF0sWzMsMThdLFs1LDE4XSxudWxsLFsyNSw3XSxbOCwyNV0sWzksMjVdXV0sInByZVJldmVhbElkeHMiOltbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSxbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSxbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXV0sInRhZ3MiOltdLCJsZXZlbCI6MCwibGV2ZWxzRXhoYXVzdGVkIjp0cnVlLCJoYXZlTWVzc2FnZXMiOnRydWUsInBsYWNlQWxsIjpmYWxzZX0=
0Jye6ISZsRXa1kISehIsIiMyAjMgwSNxAdpRnY1NnxGojIlVGZiwiIi3YzcpJjJCLiIiOi42bpRHnlmc5B3bHaiOiQXdhJCLiIboRiI3d3bCByalJXZEJiOJCLi4WYtdwasJWOiIXZoNXiIiJCLCbpFWbFJ3boRXdhmIsIiI6I1FvhGd6ICTSVlcIiImIsYwJCLiIiOiAHblhcl1UZzVXN3U2ZhJCLiIiOimblZNRiwiIiojIldWYzNXilmc0RXYXd2bpRiIiojIz5aiwiQWAjMyAjMfBnZ3JiOQDMfVTM1MwIsICZsF2Yvxm6ISVmIme6VHciwiITVVLuSZwlHVlx6ISNkIS90VTN1TICRnIsZ1JHd6IiWQp0YyNbJNXaiwSBXRncvJHd6ICZlSZ1ciwiUWbh5UZslmRjJ3fBnZ3JiOjMjMyADMfVTM1AMwQ45ClGdhVmcjJCLiwWbUWbpRlbvOiN2EjN1gDN0ITygDUjNGVkVWamlGZv1mIsTM6ISZtl1Y0QjM2IDO0UDOwSNHciOiUWbpRFazlGbiVO1ITN2EjcDADMyBnIsADMwmY1cpx6ISZu9mWl1WaUh2sIyQUVlInIGclJmZ6ISehxcsFsU2VUehxGUpRHb11mIQWZsJWYuOibhZma2JCLlNHlRWB1bmOiMHZBxGbvJXZyCLlNHbhZkJwNXazRWQ5FGbpjIWYmdjVmcy92YiwSZzxbQRmcvdFl2MHduJCLwEjOiXZsZ0RtojI5RHbh5WZQJXu9mYiwSMXd2bQNjOiMHdulL1E0JCojIl1WaURXZnJXYlGbiwSNxaublB1OikHdsFm10iJCLHd6IiREB1ajVGaj2YiwSZ1J1xpRUZikXYsB3cJiOXZ0cQFWakVWbiwiI0hR3VWa2Vm5WxmYhFmZ6ICZl2csIsUllmdlJHUhlGZl1mlRFZuF0dHembFRjIkVGbiFc0plVnRWZlZkcvx2bjJCL5WRrNWYiYhZlxmcsFmZ6ICsU2FmIyZulmchh2U39Gbs2csFmZ6IsUphmIlVHbDVGZ92QWdsIsU2csFmZ6Iycu1ZMRmcvdn5WhGdnxmYh5WRzCZlZ6ITd3boNnIsU2csFm1JEdyFGdHdibvR2csFmZ6IIsUhNmUmdpRXaz5WZTV2cNHbhZmOiLlZkJCS0xWdhZWulGNHdWYmpjIkVGbiFmbFGaiwSZ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0.06d1162
and I can upload the plain text json string too if that helps.
???
string as the input and get a step by step instruction that explains how it is encoded toPz8/
.U2FsdGVkX1967SyD064v77zUKCtnEbB1wy2+8Bs5/sM=
?I have tried both:
1. <xs:restriction base="xs:string">
<xs:maxLength value="100" />
<xs:pattern value="^[A-Za-z0-9+/]+={0,2}$" />
</xs:restriction>
2. <xs:restriction base="xs:string">
<xs:maxLength value="100" />
<xs:pattern value="^[A-Za-z0-9+/\r\n]+={0,2}$" />
</xs:restriction>
But both are not able to validate the my base64 string.
Please help
after reading your articles and answers and in other forms I understand that,
base64 can not have whitespaces and the signs + and / can be used depending on the base64 implementation.
So is it safe to assume that if I encounter a whitespace then it probably override a previous + or / signs ?
Many thanks!
1. Why does Base64 not start with 0? any particular reason?
2. Why the special chars are "+" and "/" specifically? not any other chars.
(base64) = h
(base64) = q
vLFfghR5tNV3K9DKhmwArV+SbjWAcgZZzIDTnJ0JgCo=h
r6wt0ArZSmas0z/zuRK4syYcdBu/2pfLr02IE4OL90U=q
Please help me