当前位置:首页 > JavaScript

js实现编码

2026-02-01 11:33:08JavaScript

编码转换方法

使用encodeURIComponent()对URL进行编码,该方法会将特殊字符(如/, ?, &, =等)转换为UTF-8编码的转义序列:

const encoded = encodeURIComponent('测试/string?param=1');
console.log(encoded); // 输出 "%E6%B5%8B%E8%AF%95%2Fstring%3Fparam%3D1"

Base64编码

通过btoa()实现Base64编码,注意该方法仅支持Latin1字符集:

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

处理中文需先进行URI编码转换:

const chineseBase64 = btoa(encodeURIComponent('你好'));
console.log(chineseBase64); // 输出 "JUU0JUJEJUEwJUU1JUE1JUJE"

十六进制编码

将字符串转换为十六进制表示形式:

function toHex(str) {
  return str.split('').map(c => 
    c.charCodeAt(0).toString(16).padStart(2, '0')
  ).join('');
}
console.log(toHex('ABC')); // 输出 "414243"

HTML实体编码

转换特殊字符为HTML实体:

function htmlEncode(str) {
  return str.replace(/[&<>'"]/g, tag => ({
    '&': '&amp;',
    '<': '&lt;',
    '>': '&gt;',
    "'": '&#39;',
    '"': '&quot;'
  }[tag]));
}
console.log(htmlEncode('<div>"test"</div>')); 
// 输出 "&lt;div&gt;&quot;test&quot;&lt;/div&gt;"

注意事项

  • encodeURI()encodeURIComponent()区别:前者保留完整URL结构,后者编码所有特殊字符
  • 二进制数据编码建议使用TextEncoderAPI:
    const encoder = new TextEncoder();
    const uint8Array = encoder.encode('文本');
  • 解码操作使用对应方法:decodeURIComponent(), atob(), TextDecoder

js实现编码

标签: js
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Paren…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval…

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Paren…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在H…