【发布时间】:2018-02-21 00:28:37
【问题描述】:
我使用 C# 创建了一个 base64 编码 string,格式如下。我想使用 JavaScript 创建相同的编码字符串。
var isoEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
var a = isoEncoding.GetBytes(username + ":" + password);
String encoded = System.Convert.ToBase64String(a);
request.Headers.Add("Authorization", "Basic " + encoded);
在这里,我使用了iconv 并尝试对string 进行编码,它给出了不同的编码字符串。可能是什么原因?
var str = this.username+':'+this.password;
var s = iconv.encode(str, 'ISO-8859-1');
var a = btoa(s.toString());
headers.append('Authorization', 'Basic ' + a);
【问题讨论】:
-
it does not work.定义“不起作用”。 -
你试过
s而不是s.toString()吗? -
@mjwills,抱歉我编辑了。它给出了不同的编码字符串。
-
@Ruud 是的,但是 btoa 需要字符串来编码。
标签: javascript c# base64 iso-8859-1 iconv