0

I am trying to convert a valid Base64 string to a byte array in my C# code. I cannot insert that string in whole because it's more that 80000 characters long, but here's its part:

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

I get strings like this from some consecutive UDP datagrams I want to receive. The common format is:

{A number (1–2 chars)}+{Datagram ID (1–2 chars)}+{Image data}

(Long to explain what is "A number". It is same in all datagrams, but it is necessary.)

I use Convert.FromBase64String("62dj91UT7...") to do it, but it throws the following exception:

The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.

As far as I know, it occurs when the string contains illegal for Base64 characters or hasn't got padding. But my string is valid. It has padding. It was checked with this Base64 validator. What else is needed?

UPDATE: I have also used another Base64 validator. It shows "the string is valid".

UPDATE 2: here is the code I currently use. It works if "A number" and "Datagram ID" consist of only one character, but fails in case of 2 character. It also fails on some reason when I try to compile and run it in Visual Studio 2022.

SNBS
  • 671
  • 2
  • 22
  • @KonradRudolph That's because I have inserted only part of the string (the question body length is limited). The whole string is valid. – SNBS Jan 10 '23 at 09:29
  • 2
    Obviously, it's _not_ valid. Check padding chars and the string for any non-Base64 chars to find where the culprit is. – Fildor Jan 10 '23 at 09:31
  • https://base64.guru/tools/validator check you base64 is correct or not – MichaelMao Jan 10 '23 at 09:32
  • @Fildor Probably I have to tell once more that **it is checked and it is valid**. I have even provided a link to the Base64 validator I have used. Padding chars exist, there's a `=` in the end of original string. – SNBS Jan 10 '23 at 09:32
  • @MichaelMao I used the validator you suggest. It tells my string is valid. – SNBS Jan 10 '23 at 09:32
  • @MichaelMao OP did exactly that. I'd suggest to role an own validation and/or a second 3rd party validator. – Fildor Jan 10 '23 at 09:33
  • 1
    Do invisible chars exist? Have a look at the string in an editor that can display them. I highly doubt the Framework method is _that_ buggy. I'd rather mistrust the 3rd party validator. – Fildor Jan 10 '23 at 09:34
  • How about this https://stackoverflow.com/questions/15114044/the-input-is-not-a-valid-base-64-string-as-it-contains-a-non-base-64-character – MichaelMao Jan 10 '23 at 09:35
  • Do you actually convert a string literal in code? – Fildor Jan 10 '23 at 09:35
  • @Fildor No, but I can see my string using the Visual Studio text visualizer. – SNBS Jan 10 '23 at 09:36
  • @Fildor No invisible chars. I have also used [another Base64 validator](https://onlinebase64tools.com/validate-base64), it shows my string is correct. – SNBS Jan 10 '23 at 09:37
  • Now that's extremely odd. Can you add the exact code where you convert the string? – Fildor Jan 10 '23 at 09:37
  • 1
    @Fildor Just to be sure. – SNBS Jan 10 '23 at 09:38
  • how long exactly is the base64 string incl. padding? – jps Jan 10 '23 at 09:39
  • 1
    @jps 81416 characters. – SNBS Jan 10 '23 at 09:40
  • @canton7 I'm not missing padding characters, there is `==` in the end of my original string. – SNBS Jan 10 '23 at 09:40
  • @canton7 OP capped the string so it fits in the question text: (quote) _"I cannot insert that string in whole because it's more that 80000 characters long, but here's its part:"_ – Fildor Jan 10 '23 at 09:41
  • 2
    Ah, missed that. My bet is still that the number of padding characters is incorrect... Can you maybe post the full repro to https://dotnetfiddle.net (which gives you a short URL)? – canton7 Jan 10 '23 at 09:42
  • @canton7 I suppose two padding characters is the correct number. – SNBS Jan 10 '23 at 09:42
  • 1
    The 81416 -- is that with or without the `=`'s? – canton7 Jan 10 '23 at 09:44
  • @canton7 With padding. – SNBS Jan 10 '23 at 09:47
  • @canton7 My full string is [here](https://dotnetfiddle.net/Widget/6K1R5e). – SNBS Jan 10 '23 at 09:47
  • 1
    That string is 81414 characters long, rather than the expected 81416. – Matthew Watson Jan 10 '23 at 09:50
  • 2
    @SNBS Thanks! There are no padding characters at the end of that? It decodes fine if you add them: https://dotnetfiddle.net/xPhAOq – canton7 Jan 10 '23 at 09:50
  • @canton7 I add the padding characters when try to encode it. – SNBS Jan 10 '23 at 09:53
  • @canton7 I add 2x `=` into the end. – SNBS Jan 10 '23 at 09:53
  • 2
    _Show the code!_ :D – Fildor Jan 10 '23 at 09:53
  • @MatthewWatson With the paddings, the length is 81416. – SNBS Jan 10 '23 at 09:54
  • 2
    Please post a full repro which demonstrates exactly what you're doing to dotnetfiddle and share the link (click the "Share" button at the top). I've demonstrated that your string decodes fine with the correct padding, so your problem **must** be in your code somewhere, so we need to see that – canton7 Jan 10 '23 at 09:54
  • @Fildor `byte[] result = Convert.FromBase64String("MyString");` – SNBS Jan 10 '23 at 09:54
  • 4
    No, the _actual_ code. I can confirm canton7's findings. https://dotnetfiddle.net/UPpUmD – Fildor Jan 10 '23 at 09:55
  • 2
    So can I. The string decodes OK with the correct padding. – Matthew Watson Jan 10 '23 at 09:57
  • 1
    Will vote to reopen when you post (a link to) a [MCVE] – AakashM Jan 10 '23 at 09:58
  • Everyone — [here](https://onlinegdb.com/7Wq3n3oxA) is my code. It works in the online compiler, but don't work when I run it without the necessary for publishing simplifications (I have written there what was simplified) using Visual Studio 2022. Can anybody tell me why? I also ask to reopen this question. – SNBS Jan 10 '23 at 18:21
  • @Fildor By the way, in my code (see previous comment) another Base64 string is handled correctly, and your code says it's invalid. How does my code handle a string correctly if its length isn't divisible by 4? – SNBS Jan 10 '23 at 18:54
  • If I remove paddings, the situation reverses. Your code says it's OK, my code throws `FormatException`. – SNBS Jan 10 '23 at 18:55
  • @AakashM I have provided the minimal reproducible example in one of my previous comments, please vote to reopen. – SNBS Jan 10 '23 at 20:19
  • @SNBS `Socket.Receive` returns the number of bytes read, so you don't need to do the whole "strip trailing A's" thing (which might be related to your problem). Also note that `string.Split` takes a `count` parameter, so you don't need to do your `string.Join('+', splitted.Skip(1).ToArray())` thing. – canton7 Jan 11 '23 at 08:35
  • @SNBS Your packet format is really weird. You receive bytes, then convert to base64 then remove the first 2 chars. 2 base64 chars is 12 bits, so you're encoding your datagram type in a format which uses a *byte **and a half***. It's also no wonder that removing a byte and a half is screwing up your padding. I can't even get my head around how that is supposed to work. Just store the datagram type as the first *byte* and skip the base64 entirely – canton7 Jan 11 '23 at 08:37
  • 1
    @snbs thanks for the link, but showing us *working* code doesn't get us anywhere :( We need to see the *smallest* code *that exhibits the problem*... also please [edit the link into your question](https://stackoverflow.com/posts/75067881/edit) when it's ready – AakashM Jan 11 '23 at 09:14
  • 1
    @canton7 Firstly, thanks for your tips about `Socket.Receive` and `string.Split`. Secondly, there's another number (with its `+` separator) before the datagram, so I'm removing 4 chars = 24 bits = 4 bytes. Sorry if it was a bit stupid to not include it, too. I'm always silly when I'm sleepy :(. In today's evening, I will update my code. – SNBS Jan 11 '23 at 09:42
  • @canton7 I have updated my question, please take a look at "Update 2". – SNBS Jan 11 '23 at 19:17
  • @AakashM I'd like you to know about the previous comment, too. – SNBS Jan 11 '23 at 19:18
  • @SNBS Af the risk of repeating the obvious for the umpteenth time... Your original `strBuffer` is 81420 characters, which is divisible by 4 and therefore needs no padding. You then remove 6 base64 characters leaving a string with length 81414, which is **not** divisble by 4. The basic premise here is very simple and unchanging: valid base64 strings must have a length including padding which is a multiple of 4. – canton7 Jan 11 '23 at 20:46
  • I've no idea what you're trying to do with chopping bits off the base64 string before decoding it: that's really weird. But very simply: if you take a valid base64 string and add some characters to the start, the result probably isn't valid base64. If you take a valid base64 string and remove some characters from the start, the result probably isn't valid base64. Base64 is a way of representing **binary** data using printable characters: you can't just manipulate it as if it's normal text. – canton7 Jan 11 '23 at 20:46
  • I'm going to reiterate my suggestion from earlier: store the number and datagram ID as **bytes** at the start of the datagram -- don't muck around with base64 **at all**. So when encoding a datagram, do `byte[] datagram = new byte[image.Length + 2]; datagram[0] = aNumber; datagram[1] = datagramId; imageData.CopyTo(datagram, 2);` Then when decoding: `int aNumber = buffer[0]; int datagramId = buffer[1]; byte[] imageData = buffer[2.. numReceivedBytes]` – canton7 Jan 11 '23 at 20:51
  • @canton7 OK, I will try to operate with bytes directly, I just didn't think Base64 is so sensitive. – SNBS Jan 12 '23 at 06:30
  • 1
    It's not "sensitive" per se, but you can't just manipulate it as text unless you know what you're doing. Each byte that it represents is smeared across multiple characters, which means you need to be careful when adding/removing characters – canton7 Jan 12 '23 at 07:49
  • @canton7 Thanks, I didn't know these details about Base64. In fact, I thought it's just an ordinal encoding. – SNBS Jan 12 '23 at 16:43

0 Answers0