当前位置:首页 > 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实体:

js实现编码

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

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现pdf在线预览

js实现pdf在线预览

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

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…