javascript中的“ISO-8859-1”编码

javascript中的“ISO-8859-1”编码,javascript,c#,base64,iso-8859-1,iconv,Javascript,C#,Base64,Iso 8859 1,Iconv,我已经使用C创建了以下格式的base64编码字符串。我想使用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("Auth

我已经使用C创建了以下格式的base64编码字符串。我想使用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并尝试获取编码字符串,它给出了一个不同的编码字符串。原因可能是什么

var str  = this.username+':'+this.password;
var s = iconv.encode(str, 'ISO-8859-1');
var a = btoa(s.toString()); 
headers.append('Authorization', 'Basic ' + a);
使用此选项代替btoa:


buffer.toString的默认编码为utf-8

它不起作用。定义“不起作用”。你试过s而不是s.toString吗?@mjwills,抱歉我编辑了。它给出了不同的编码字符串。@Ruud是的,但btoa需要字符串进行编码。这与btoa给出的编码字符串相同。问题是编码字符串与c字符串不同。
var a = s.toString('base64');