用js GB2312转UTF8
时间: 2024-11-03 12:16:28 浏览: 13
用javascript实现gb2312转utf-8的脚本
在JavaScript中,将GB2312编码的数据转换为UTF-8编码,可以使用`unescape()`函数配合`encodeURIComponent()`函数来进行操作,因为这两个函数默认处理的是Unicode编码。首先你需要将GB2312字符串解码为二进制,然后将其视为Base64编码,最后再解码为UTF-8。
以下是步骤示例:
```javascript
function gb2312ToUtf8(gb2312Str) {
// 使用escape()将GB2312字符串转换为URL安全字符实体
var urlEncodedGb2312 = encodeURIComponent(gb2312Str);
// 将URL编码后的字符串转换为十六进制,并去除%前缀
var hexEncodedGb2312 = urlEncodedGb2312.replace(/%(..)/g, function(match, charCode) {
return String.fromCharCode(parseInt(charCode, 16));
});
// 将十六进制转换为Base64
var base64Gb2312 = btoa(hexEncodedGb2312);
// 解码Base64为UTF-8
var utf8Bytes = atob(base64Gb2312);
var utf8Str = decodeURIComponent(utf8Bytes);
return utf8Str;
}
// 测试
var gb2312Example = "你好,世界";
var utf8Result = gb2312ToUtf8(gb2312Example);
console.log(utf8Result); // 输出:你好,世界 (UTF-8)
阅读全文