当前位置:首页 > 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字符集:

js实现编码

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

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

js实现编码

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实现倒计时

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

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…

js实现的游戏

js实现的游戏

JavaScript 游戏开发基础 JavaScript 是开发网页游戏的流行选择,因其无需插件即可在浏览器中运行。以下是一些关键技术和资源: HTML5 Canvas Canvas 提供了绘制图形…