当前位置:首页 > JavaScript

js实现编码

2026-03-14 10:14:33JavaScript

JavaScript 实现编码的方法

JavaScript 提供了多种编码方式,可以根据不同的需求选择合适的编码方法。以下是常见的几种编码实现方式:

URL 编码

使用 encodeURIComponentencodeURI 对 URL 进行编码,避免特殊字符导致的 URL 解析问题。

const url = 'https://example.com/?name=张三&age=20';
const encodedUrl = encodeURIComponent(url);
console.log(encodedUrl); // 输出编码后的 URL

encodeURI 用于编码整个 URL,而 encodeURIComponent 用于编码 URL 的某一部分(如查询参数)。

js实现编码

Base64 编码

使用 btoaatob 进行 Base64 编码和解码。

const text = 'Hello, World!';
const encodedText = btoa(text); // Base64 编码
console.log(encodedText);

const decodedText = atob(encodedText); // Base64 解码
console.log(decodedText);

HTML 实体编码

使用 textContentinnerText 自动处理 HTML 实体编码,避免 XSS 攻击。

js实现编码

const element = document.createElement('div');
element.textContent = '<script>alert("XSS")</script>';
console.log(element.innerHTML); // 输出编码后的 HTML 实体

自定义编码函数

可以手动实现特定需求的编码逻辑,例如替换特定字符。

function customEncode(str) {
    return str.replace(/[&<>"']/g, function(match) {
        return {
            '&': '&amp;',
            '<': '&lt;',
            '>': '&gt;',
            '"': '&quot;',
            "'": '&#39;'
        }[match];
    });
}

const encoded = customEncode('<div>Hello</div>');
console.log(encoded); // 输出 &lt;div&gt;Hello&lt;/div&gt;

使用 TextEncoder 进行 UTF-8 编码

现代浏览器支持 TextEncoderTextDecoder 进行 UTF-8 编码和解码。

const encoder = new TextEncoder();
const encoded = encoder.encode('你好'); // 返回 Uint8Array
console.log(encoded);

const decoder = new TextDecoder();
const decoded = decoder.decode(encoded);
console.log(decoded); // 输出 "你好"

注意事项

  • URL 编码时注意区分 encodeURIencodeURIComponent 的使用场景。
  • Base64 编码仅支持 ASCII 字符,对 Unicode 字符需先转换为 UTF-8。
  • HTML 实体编码主要用于防止 XSS 攻击。
  • TextEncoderTextDecoder 是较新的 API,需确保目标环境支持。

标签: js
分享给朋友:

相关文章

css3结合js制作

css3结合js制作

CSS3 结合 JavaScript 制作动态效果 CSS3 和 JavaScript 结合可以实现丰富的动态效果,包括动画、交互和响应式设计。以下是几种常见的实现方式: CSS3 动画与 Java…

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEve…

js实现 功能

js实现 功能

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

js实现弹框

js实现弹框

使用 alert 实现简单弹框 JavaScript 的 alert 方法可以直接显示一个简单的弹框,内容为纯文本: alert("这是一个简单的弹框"); 使用 confirm 实现确认弹框…

js验证码实现

js验证码实现

验证码的基本原理 验证码(CAPTCHA)用于区分人类用户和自动化程序。常见类型包括图形验证码、滑动验证码、短信验证码等。JavaScript 可用于前端验证码的生成和验证逻辑。 图形验证码实现 使…

js实现隐藏div

js实现隐藏div

隐藏div的几种方法 使用JavaScript隐藏div元素可以通过多种方式实现,以下是几种常见的方法: 方法一:修改style.display属性 将div的display属性设置为"none"…