You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript转换Wayback Machine中SHIFT-JIS编码的日文乱码?

解决Wayback Machine中SHIFT-JIS编码乱码的JavaScript方案
  • 可以通过JavaScript将这类乱码转换为可读日文,核心逻辑是还原原始SHIFT-JIS字节后重新解码。
  • 具体实现步骤:
    1. 提取乱码字符串的原始字节(乱码是浏览器误把SHIFT-JIS字节当成单字节编码解析的结果)
    2. 用TextDecoder以SHIFT-JIS编码解码字节数组
  • 示例代码:
function fixShiftJisGarble(garbledStr) {
  const byteArr = new Uint8Array(garbledStr.length);
  for (let i = 0; i < garbledStr.length; i++) {
    byteArr[i] = garbledStr.charCodeAt(i) & 0xFF;
  }
  return new TextDecoder('shift-jis').decode(byteArr);
}

// 测试示例乱码
const testGarble = "¦‚±‚̤•iƒWƒƒƒ“ƒ‹‚Ì’†‚©‚çƒL[ƒ[ƒh‚Åiž‚ñ‚ÅŒŸõ‚ª‚Å‚«‚Ü‚·B";
console.log(fixShiftJisGarble(testGarble));
  • 关键说明:
    • 乱码字符的UTF-16码点低8位对应原始SHIFT-JIS字节,通过charCodeAt(i) & 0xFF提取
    • TextDecoder是现代浏览器原生API,无需额外依赖,能正确处理SHIFT-JIS的多字节字符
  • 适用场景:仅针对SHIFT-JIS编码页面被错误解析为单字节编码(如ISO-8859-1)导致的乱码。

内容的提问来源于stack exchange,提问作者kevski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 19:55:16