Javascript 将 windows-1252 编码转换为 UTF-8
Javascript convert windows-1252 encoding to UTF-8
如何转换以下字符串:
var string = "Bouchard+P%E8re+et+Fils"
使用 javascript 转换为 UTF-8,这样 %E8
就会变成 %C3%A8
?
原因是这个角色似乎被绊倒了decodeURIComponent
您可以通过将字符串放入 http://meyerweb.com/eric/tools/dencoder/ 并查看显示 Uncaught URIError: URI malformed
的控制台错误来对其进行测试
我正在寻找可以解码整个 html 文档的东西,它声称是 windows-1252
编码的,我认为这个 %E8
字符来自哪里,转换为 UTF-8。
谢谢!
首先创建Windows-1252的地图。您可以使用您选择的搜索引擎找到对编码的引用。
为了这个示例,我将在您的示例数据中包含角色。
然后找到所有的百分号后跟两个十六进制字符,将它们转换为数字,并使用映射将它们转换(以获得原始数据),然后使用encodeURIComponent
再次转换它们(以获得编码后的数据)数据)。
var string = "Bouchard+P%E8re+et+Fils"
var w2512chars = [];
w2512chars[232] = "è"
var percent_encoded = /(%[a-fA-F0-9]{2})/g;
function filter(match, group) {
var number = parseInt(group.substr(1), 16);
var character = w2512chars[number];
return encodeURIComponent(character);
}
string = string.replace(percent_encoded, filter);
alert(string);
如何转换以下字符串:
var string = "Bouchard+P%E8re+et+Fils"
使用 javascript 转换为 UTF-8,这样 %E8
就会变成 %C3%A8
?
原因是这个角色似乎被绊倒了decodeURIComponent
您可以通过将字符串放入 http://meyerweb.com/eric/tools/dencoder/ 并查看显示 Uncaught URIError: URI malformed
我正在寻找可以解码整个 html 文档的东西,它声称是 windows-1252
编码的,我认为这个 %E8
字符来自哪里,转换为 UTF-8。
谢谢!
首先创建Windows-1252的地图。您可以使用您选择的搜索引擎找到对编码的引用。
为了这个示例,我将在您的示例数据中包含角色。
然后找到所有的百分号后跟两个十六进制字符,将它们转换为数字,并使用映射将它们转换(以获得原始数据),然后使用encodeURIComponent
再次转换它们(以获得编码后的数据)数据)。
var string = "Bouchard+P%E8re+et+Fils"
var w2512chars = [];
w2512chars[232] = "è"
var percent_encoded = /(%[a-fA-F0-9]{2})/g;
function filter(match, group) {
var number = parseInt(group.substr(1), 16);
var character = w2512chars[number];
return encodeURIComponent(character);
}
string = string.replace(percent_encoded, filter);
alert(string);