Hello! 欢迎来到小浪资源网!


GM_xmlhttpRequest获取EUC-JP编码数据时如何正确显示日文字符?


avatar
huizai2013 2024-11-20 20

GM_xmlhttpRequest获取EUC-JP编码数据时如何正确显示日文字符?

如何处理euc-jp编码的gm_xmlhttprequest响应以显示日文字符?

在使用gm_xmlhttprequest获取编码为euc-jp的网站数据时,直接显示结果或使用encoding.min.JS进行解码后,日文字符可能会出现乱码。

要解决此问题,可以使用以下方法:

const ab2str = (arrayBuf, encodeType) => {   var decoder = new TextDecoder(encodeType)   var u8arr = new Uint8Array(arrayBuf)   return decoder.decode(u8arr) }  GM_xmlhttpRequest({   method: "GET",   url: "https://seesaawiki.jp/av_video/d/%c6%e1%b2%ec%ba%ea%a4%e6%a4%ad%a4%cd",   responseType: "arraybuffer", // 以ArrayBuffer形式获取响应   onload: function (response) {     if (response.status >= 200 && response.status < 300) {       // 将ArrayBuffer转换为EUC-JP字符串       const eucJpString = ab2str(response.response, 'EUC-JP')        // 对EUC-JP字符串进行处理       console.log(eucJpString)     } else {       console.error("Error fetching data:", response.status)     }   },   onerror: function (error) {     console.error("Request error:", error)   }, })

使用此方法,可以将arraybuffer以euc-jp编码转换为字符串,从而正确显示日文字符。

相关阅读