【问题标题】:"ISO-8859-1" Encoding in javascriptjavascript 中的“ISO-8859-1”编码
【发布时间】: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


【解决方案1】:

用这个代替btoa:

var a = s.toString('base64');

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

【讨论】:

  • 这与 btoa 相同。问题是 c# 的编码字符串不同。
猜你喜欢
  • 2011-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-12
  • 1970-01-01
  • 2012-02-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多