8到base64字符串
我试图将UTF-8
转换为base64
字符串。
例如:我在UTF-8
有“abcdef ==”。 它实际上是base64
字符串的“表示”。
我怎么能检索一个“abcdef ==” base64
字符串(注意,我不想从UTF-8
“abcdef ==”“翻译”,我想获得一个在base64
中编码的字符串,它是 “abcdef ==” )。
编辑
由于我的问题似乎不清楚,这里有一个重新说明:
我的字节数组(假设我将其命名为A)由base64
字符串表示。 将A转换为base64
会给我“abcdef ==”。
此字符串表示形式通过UTF-8中的套接字发送(请注意,UTF-8和base64中的字符串表示形式完全相同)。 所以我收到一个UTF-8消息,其中包含UTF-8中的“whatever / abcdef == / whatever”。
所以我需要从这个套接字消息中检索base64“abcedf ==”字符串以获得A.
我希望这更清楚!
有点难以分辨你想达到什么目的,但假设你正在试图获得一个Base64字符串,该字符串在解码时是abcdef==
,那么应该如下工作:
byte[] bytes = Encoding.UTF8.GetBytes("abcdef==");
string base64 = Convert.ToBase64String(bytes);
Console.WriteLine(base64);
这将输出: YWJjZGVmPT0=
这是在Base64中编码的abcdef==
。
编辑:
要解码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==
在这种情况下。
上一篇: 8 to base64 string