C#中的Base64.getDecoder()。decode

时间:2019-03-05 09:12:21

标签: c# base64 decode

对于Base64.getDecoder().decode Java代码,我需要等效的C#代码。 我已经在C#中尝试过类似以下的内容

byte[] decodedBytes = Convert.FromBase64String(embedCode);
string decodedText = Encoding.UTF8.GetString(decodedBytes);
byte[] bytes = Encoding.ASCII.GetBytes(decodedText);

但是该字符串具有一些特殊字符,例如0��\ u0002B \0�*-\u0017�c\u001e�aֺ]���qr����`。如何在C#中实现这一目标

1 个答案:

答案 0 :(得分:0)

“ \ u0002”是unicode编码的“文本开头”字符。

所以使用

byte[] decodedBytes = Convert.FromBase64String(embedCode);
string decodedText = Encoding.Unicode.GetString(decodedBytes);

并且请勿尝试将Unicode文本编码为ASCII,Unicode的字符范围更大,而ASCII将无法识别。因此,请再次使用unicode编码写入字节。