I am trying to convert a base64 string to HTML code which i am getting from my e-mail through Gmail Api in WinRT. But the problem is that while converting the base64 string to byte array, an FormatException is thrown.Also when i decoded it on the base64decode website, it perfectly decodes the base64 string.
This is the base64 string which i am trying to decode:
PGltZyBzcmM9Imh0dHA6Ly9jY3Byb21haWwuY29tOjgxODEvYWRtaW1wLmpzcD9pZD1UaUUtbldrcGhESUJuaHNUS2t0NENpclQzTHVvY09ZOVV2czJDb1lFbGo4YjZJWjl0TWp6SzNvRUpERkVHZnBnIiBib3JkZXI9IjAiIGhlaWdodD0iMCIgd2lkdGg9IjAiPjxkaXYgc3R5bGU9IndpZHRoOjYwMHB4OyAgZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDoyMnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij4gIDxmb250IHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAyMHB4OyBjb2xvcjogcmVkOyI-IEdST1cgWU9VUiBPV04gSEFJUiBGT1IgSlVTVCAxIFJTLjwvZm9udD4gIDxicj4gIDxicj4gIDxmb250IHN0eWxlPSJjb2xvcjpncmVlbjtmb250LXdlaWdodDogYm9sZDsiPkludGVyZXN0IEZyZWUgRU1JPGJyPjxicj4xIFJzLiBEb3duIFBheW1lbnQ8L2ZvbnQ-ICA8YnI-ICA8YnI-ICA8YSBocmVmPSJodHRwOi8vY2Nwcm9tYWlsLmNvbTo4MTgxL3RyYWNrLmpzcD9pZD1UaUUtbldrcGhESUJuaHNUS2t0NENpclQzTHVvY09ZOVV2czJDb1lFbGo4YjZJWjl0TWp6SzNvRUpERkVHZnBnIiBzdHlsZT0iY29sb3I6IGJsdWU7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsiPkdldCBZb3VyIEFwcG9pbnRtZW50IE5vdzwvYT4gIDxicj4gIDxicj4gPC9kaXY-PGJyLz48ZGl2IHN0eWxlPSJmb250LXNpemU6OXB4O3dpZHRoOjYwMHB4O21hcmdpbi1sZWZ0OiAxNTBweDsiPjxhIGhyZWY9Imh0dHA6Ly9jY3Byb21haWwuY29tOjgxODEvdHJhY2suanNwP2lkPVRpRS1uV2twaERJQm5oc1RLa3Q0Q2lyVDNMdW9jT1k5VXZzMkNvWUVsajhiNklaOXRNanpLM29FSkRGRUdmcGcmdT1hIj5DbGljayBIZXJlPC9hPiB0byB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbmV3c2xldHRlci48YnIvPjwvZGl2Pg0K
EDIT: This is the code that i am using to decode the string:
string raw = "PGltZyBzcmM9Imh0dHA6Ly9jY3Byb21haWwuY29tOjgxODEvYWRtaW1wLmpzcD9pZD1UaUUtbldrcGhESUJuaHNUS2t0NENpclQzTHVvY09ZOVV2czJDb1lFbGo4YjZJWjl0TWp6SzNvRUpERkVHZnBnIiBib3JkZXI9IjAiIGhlaWdodD0iMCIgd2lkdGg9IjAiPjxkaXYgc3R5bGU9IndpZHRoOjYwMHB4OyAgZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDoyMnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij4gIDxmb250IHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAyMHB4OyBjb2xvcjogcmVkOyI-IEdST1cgWU9VUiBPV04gSEFJUiBGT1IgSlVTVCAxIFJTLjwvZm9udD4gIDxicj4gIDxicj4gIDxmb250IHN0eWxlPSJjb2xvcjpncmVlbjtmb250LXdlaWdodDogYm9sZDsiPkludGVyZXN0IEZyZWUgRU1JPGJyPjxicj4xIFJzLiBEb3duIFBheW1lbnQ8L2ZvbnQ-ICA8YnI-ICA8YnI-ICA8YSBocmVmPSJodHRwOi8vY2Nwcm9tYWlsLmNvbTo4MTgxL3RyYWNrLmpzcD9pZD1UaUUtbldrcGhESUJuaHNUS2t0NENpclQzTHVvY09ZOVV2czJDb1lFbGo4YjZJWjl0TWp6SzNvRUpERkVHZnBnIiBzdHlsZT0iY29sb3I6IGJsdWU7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsiPkdldCBZb3VyIEFwcG9pbnRtZW50IE5vdzwvYT4gIDxicj4gIDxicj4gPC9kaXY-PGJyLz48ZGl2IHN0eWxlPSJmb250LXNpemU6OXB4O3dpZHRoOjYwMHB4O21hcmdpbi1sZWZ0OiAxNTBweDsiPjxhIGhyZWY9Imh0dHA6Ly9jY3Byb21haWwuY29tOjgxODEvdHJhY2suanNwP2lkPVRpRS1uV2twaERJQm5oc1RLa3Q0Q2lyVDNMdW9jT1k5VXZzMkNvWUVsajhiNklaOXRNanpLM29FSkRGRUdmcGcmdT1hIj5DbGljayBIZXJlPC9hPiB0byB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbmV3c2xldHRlci48YnIvPjwvZGl2Pg0K";
string codedbody = raw.Replace("-", "+");
codedbody = raw.Replace("_", "/");
byte[] data = Convert.FromBase64String(codedbody);
string body = Encoding.UTF8.GetString(data);
-, and different variants assign different meanings to that character.Replacecalls but you're effectively throwing away the result of the first one when you probably intended to use it as the "source" for the second one (instead, you usedrawagain)