当前位置:首页 > JavaScript

js实现转码

2026-03-13 22:58:33JavaScript

转码实现方法

在JavaScript中,常见的转码需求包括URL编码、Base64编码、Unicode转码等。以下是几种常见转码场景的实现方法。

URL编码

使用encodeURIComponent()对URL参数进行编码,确保特殊字符被正确处理:

const originalString = "Hello World! 你好";
const encodedString = encodeURIComponent(originalString);
console.log(encodedString); // 输出:Hello%20World!%20%E4%BD%A0%E5%A5%BD

使用decodeURIComponent()进行解码:

const decodedString = decodeURIComponent(encodedString);
console.log(decodedString); // 输出原始字符串

Base64编码

使用btoa()进行Base64编码:

const base64Encoded = btoa("Hello World");
console.log(base64Encoded); // 输出:SGVsbG8gV29ybGQ=

使用atob()进行Base64解码:

const base64Decoded = atob(base64Encoded);
console.log(base64Decoded); // 输出原始字符串

注意:btoaatob仅支持ASCII字符,处理非ASCII字符需要先转换:

const utf8ToBase64 = (str) => btoa(unescape(encodeURIComponent(str)));
const base64ToUtf8 = (str) => decodeURIComponent(escape(atob(str)));

Unicode转码

将字符串转换为Unicode编码:

function toUnicode(str) {
    return str.split('').map(char => 
        '\\u' + char.charCodeAt(0).toString(16).padStart(4, '0')
    ).join('');
}
console.log(toUnicode("你好")); // 输出:\u4f60\u597d

将Unicode编码转回字符串:

function fromUnicode(unicodeStr) {
    return unicodeStr.replace(/\\u[\dA-F]{4}/gi, 
        match => String.fromCharCode(parseInt(match.replace(/\\u/g, ''), 16))
    );
}

字符集转换

使用TextEncoderTextDecoder处理不同字符集:

js实现转码

const encoder = new TextEncoder();
const decoder = new TextDecoder();

const utf8Array = encoder.encode("你好");
const decodedStr = decoder.decode(utf8Array);

注意事项

  1. URL编码时,encodeURI()不会编码/?:@&=+$#等保留字符,而encodeURIComponent()会编码所有非标准字符
  2. Base64编码的字符串可能包含+/=等特殊字符,在URL中使用时需要替换:
    const urlSafeBase64 = base64Encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
  3. 处理大文件转码时建议使用流式处理,避免内存问题

标签: js
分享给朋友:

相关文章

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…