转换UTF-8为base64字符串(Convert UTF-8 to base64 string)

2019-07-05 16:44发布

我想转换UTF-8base64字符串。

例如:我有“ABCDEF ==”在UTF-8 这其实是一个的“代表性” base64字符串。

我怎样才能检索“ABCDEF ==” base64字符串(请注意,我不希望有一个“ABCDEF ==”“翻译”从UTF-8我想在编码的字符串base64 “ABCDEF ==” )。

编辑
由于我的问题似乎是不清楚,这里是一个改写如下:

我的字节数组(比方说,我将它命名为)由所代表base64字符串。 转换到base64给我“ABCDEF ==”。

该字符串表示是通过UTF-8的插座发送(注意字符串表示恰恰是在UTF-8和BASE64相同)。 所以,我收到包含一个UTF-8的消息 “无论/ ABCDEF == /不管” 的UTF-8。

所以,我需要为了得到A.从此套接字信息检索的base64“ABCEDF ==”字符串

我希望这是更清晰!

Answer 1:

这是一个有点很难说你想什么来实现,但假设你正在试图获得一个Base64字符串解码时是abcdef== ,下面应该工作:

byte[] bytes = Encoding.UTF8.GetBytes("abcdef==");
string base64 = Convert.ToBase64String(bytes);
Console.WriteLine(base64);

这将输出: YWJjZGVmPT0=其为abcdef==在Base64编码。

编辑:

为了解码一个Base64字符串,只需使用Convert.FromBase64String() 例如

string base64 = "YWJjZGVmPT0=";
byte[] bytes = Convert.FromBase64String(base64);

在这一点上, bytes将是一个byte[]不是string )。 如果我们知道字节数组代表了UTF8字符串,那么就可以改回使用字符串形式:

string str = Encoding.UTF8.GetString(bytes);
Console.WriteLine(str);

这将输出的原始输入字符串, abcdef==在这种情况下。



文章来源: Convert UTF-8 to base64 string