将UTF-8转换为base64字符串

问题描述 投票:0回答:2

我正在尝试将

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。

我希望这更清楚!

c# encoding utf-8 base64
2个回答
145
投票

说出您想要实现的目标有点困难,但假设您正在尝试获取一个 Base64 字符串,当 decoded

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==


-1
投票

G内容长度:41481

--00000000000018f0100608950d4a 内容类型:文本/纯文本;字符集=“UTF-8”;格式=流动; delsp=是 内容传输编码:base64

RmxveWRvbG9neQ0KDQoNCg0KDQoNCg0K4oCcVGhlIERhcmsgU2lkZSBvZiB0aGUgTW9vbiIgaXMg YSBtZXNTZXJpemluZyBibGVuZCBvZiBwcm9ncmVzc2l2ZSByb2NrIGFuZCAgDQpwc3ljaGVkZWxp YSwgcHVzaGluZyB0aGUGYm91bmRhcmllcyBvZiBtdXNpYy4gSXRzIHByb2ZvdW5kIGV4cGxvcmF0 aW9uIG9mICANmh1bWFuIGV4cGVyaWVuY2UsIHRpbWUSIGFuZCBtZW50YWwgaGVhbHRoIHJlc29u YXRlcyB3aXRoIGxpc3RlbmVycyB0aHJvdWdoICANnRyYWNrcyBsaWtlICJUaW1lIiBhbmQgIk1v bmV5LiIgV2l0aCB0aG91Z2h0LXByb3Zva2luZyBseXJpY3MgYW5kIGVuZHVyaW5nICANCmFwcGVh bCwgaXQgaGFzIGJLY29tZSBhIHRpbWVsZXNzIGNsYXNzaWMuIFRoZSBhbGJ1bSdzIGNoYXJ0IHN1 Y2Nlc3MgYW5kICANcmdsb2JhbCBzYWxlcyBoYXZlIHNvbGlkaWZpZWQgaXRzIHBvc2l0aW9uIGFz IG9uZSBvZiB0aGUgZ3JlYXRlc3QgYWxidW1zIGLUICANCmhpc3RvcnkuIEZvciBtZSwgaXQgaXMg dGhlIHBpbm5hY2xLIG9mIFBpbmsgRmxveWQncyBkaXNjb2dyYXBoeS4gV2hhdCBhYm91dCAgDQp5 b3U/IFdoaWNoIFBpbmsgRmxveWQgYWxidW0gaXMgeW91ciBwZXJzb25hbCBtYXN0ZXJwaWVjZT8N Cg0KDQonCKZyb206IEphcmR5IFNhbmRlcnMNCg0KDQonCLJFQUQgTU9SRQ0KDQoNCg0KDQoNCg0K Q29tcGxldGUgWW91ciBURFNPVE0gY29sbGVjdGlvbg0KDQoNCg0KDQonNCkRhcmsgU2lkZSBPZiBU aGUgTW9vbiA1MHRoIEFuaXZlcnNhcnkgUnVnDQoNCg0KDQpCVVkgTk9XDQoNCg0KDQoNCg0KDQpE YXJrIFNpZGUgT2YgVGhlIE1vb24gNTB0aCBBbm5pdmVyc2FyeSBQaW5rIEZsb3lkIFR1bWJsZXIN Cg0KDQonNCkJVWSBOT1cNCg0KDQoNCg0KDQoNCkRTT1RNIDUwdGggQW5uaXZlcnNhcnkgMTk3My0y MDIzIFNpZ25hdHVyZXMgVmVsdmV0ZWVuIFBsdXNoIEJsYW5rZXQNCg0KDQonNCkJVWSBOT1cNCg0K DQoNCg0KDQoNCLREU29UTSA1MHRoIEFubml2ZXJzYXJ5IFRzaGlydCBIb29kaWUgU3dlyXRzaGly DA0KDQoNCg0KQlVZIE5PVw0KDQoNCg0KDQoNCg0KTmV3IEFycml2YWxzDQoNCldhbGwgQXJ0SG9t ZSBEZWNvcg0KDQpDbG90aGluZ0NhciBBY2Nlc3Nvmllcw0KDQonNCkNvcHlyaWdodCDCqSAyMDIw IFBpbmsgRmxveWQgKDE5ODcpIEx0ZC4gVW5kZXIgbGljZW5zZSB0byBQZXJyeXNjb3BlICANClBy b2R1Y3Rpb25zIExMQy4NClBJTksgRkxPWUTCriBpcyBhIHJlZ2lzdGVyZWQgdHJhZGVtYXJrIG9m IFBpbmsgRmxveWQgKDE5ODcpIEx0ZC4NCg0KDQoNCg0KV2FudCB0byBjaGFuZ2UgaG93IHlvdSBy ZWNlaXZliHRoZXNlIGVtYWlscz8NCllvdSBjYW4gdXBkYXRlIHlvdXIgcHJlZmVyZW5jZXMgb3Ig dW5zdWJzY3JpYmUNCg0KDQoNCg0KDQo= --00000000000018f0100608950d4a

© www.soinside.com 2019 - 2024. All rights reserved.