在 C# 中编码并在 Javascript 中解码

Encoding in C# and Decoding in Javascript

我已经用 C# 编码了一些文本,如下所示:

var encodedCredential = Convert.ToBase64String(Encoding.Unicode.GetBytes(JsonConvert.SerializeObject("Sample text")));

编码后的字符串是:IgBTAGEAbQBwAGwAZQAgAHQAZQB4AHQAIgA=

我想解码 java 脚本中的编码字符串。

我试过下面的

decodeURIComponent(atob("IgBTAGEAbQBwAGwAZQAgAHQAZQB4AHQAIgA="))
decodeURIComponent(atob("IgBTAGEAbQBwAGwAZQAgAHQAZQB4AHQAIgA=").replace(' ',''))

结果不一样,每个字母都有一些空格。我什至无法替换空格。

您需要在 C# 中使用 UTF-8 编码。通过这个命令导出base64

Convert.ToBase64String(Encoding.UTF8.GetBytes("Sample text"))

@King_Fisher,您不应该获得额外的空格,替换方法也将替换单个匹配项。

这是我对您的代码所做的(参见随附的屏幕截图)