将UTF-8转换为base64string
我尝试将UTF-8
转换为base64
string。
例如:我在UTF-8
有“abcdef ==”。 这实际上是一个base64
string的“表示”。
我怎样才能检索“abcdef ==” base64
string(注意,我不想从UTF-8
“abcdef ==”“翻译”,我想获得一个string编码在base64
这是 “abcdef ==” )
编辑由于我的问题似乎不清楚,这里是一个重新定义:
我的字节数组(假设我把它命名为A)由一个base64
string表示。 在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==
在这种情况下。