如何使用纯Javascript将GBK转换为UTF8?

时间:2013-06-20 10:52:32

标签: javascript encoding utf-8 gbk

我想从内容为GBK编码的其他网站加载一些文字,但我的网站是UTF8。

无论如何,我可以将这些GBK文本转换为UTF8进行显示吗?

出于某些原因,我只能使用Javascript。

2 个答案:

答案 0 :(得分:1)

http://www.1kjs.com/lib/widget/gbk/

有一个javascript可以在gbk和unicode之间进行转换: which maps all the 21886 gbk Chinese chars to unicode

您只需下载javascript file,包含它并使用:

unicode to gbk:

  

$URL.encode(unicode_string)

或gbk to unicode:

  

$URL.decode(gbk_string)

我测试了它。它在我的网站上运行良好:zhuhaiyang.sinaapp.com/base64/index.html

使用纯javascript做base64 ency。

答案 1 :(得分:0)

http://updates.html5rocks.com/2014/08/Easier-ArrayBuffer---String-conversion-with-the-Encoding-API

对于chrome或firefox,您可以使用TextDecoder将任何文本解码为unicode:

function fetchAndDecode(file, encoding) {  
    var xhr = new XMLHttpRequest();  
    xhr.open('GET', file);  
    xhr.responseType = 'arraybuffer';  
    xhr.onload = function() {  
      if (this.status == 200) {  
        var dataView = new DataView(this.response);  
        var decoder = new TextDecoder(encoding);  
        var decodedString = decoder.decode(dataView);  
        console.info(decodedString);  
      } else {  
        console.error('Error while requesting', file, this);  
      }  
    };  
    xhr.send();  
  }

fetchAndDecode('gbkencoded.txt','gbk');