将UTF-8转换为base64string

我尝试将UTF-8转换为base64string。

例如:我在UTF-8有“abcdef ==”。 这实际上是一个base64string的“表示”。

我怎样才能检索“abcdef ==” base64string(注意,我不想从UTF-8 “abcdef ==”“翻译”,我想获得一个string编码在base64 “abcdef ==” )

编辑由于我的问题似乎不清楚,这里是一个重新定义:

我的字节数组(假设我把它命名为A)由一个base64string表示。 在base64转换A给了我“abcdef ==”

该string表示forms通过UTF-8中的套接字发送(请注意,UTF-8和base64中的string表示forms完全相同)。 所以我收到一个UTF-8消息,其中包含UTF-8中的“whatever / abcdef == / whatever”。

所以我需要从此套接字消息中检索base64“abcedf ==”string以获得A.

我希望这更清楚!

有点难以告诉你想要达到什么目的,但是假设你正在试图获得一个Base64string,这个string在解码的时候abcdef== ,下面的代码应该可以工作:

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

这将输出: YWJjZGVmPT0=这是在Base64中编码的abcdef==

编辑:

要解码Base64string,只需使用Convert.FromBase64String() 。 例如

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

在这一点上, bytes将是一个byte[] (不是string )。 如果我们知道字节数组代表UTF8中的一个string,那么可以使用下面的代码将它转换回stringforms:

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

这将输出原始inputstring, abcdef==在这种情况下。