当前位置:首页 > JavaScript

js实现cencode

2026-02-01 20:38:57JavaScript

以下是使用JavaScript实现类似C语言中cencode功能的几种方法,主要用于字符串或数据的编码转换:

使用encodeURIComponent进行URL编码

该方法适用于对URL参数部分进行编码,保留特殊字符(如- _ . ! ~ * ' ( )):

const str = "Hello World!@#";
const encodedStr = encodeURIComponent(str);
console.log(encodedStr); // 输出: "Hello%20World!%40%23"

使用btoa进行Base64编码

适用于二进制数据或简单字符串的Base64编码:

const text = "Hello Base64";
const encodedData = btoa(text);
console.log(encodedData); // 输出: "SGVsbG8gQmFzZTY0"

自定义十六进制编码

实现类似C语言中逐字符转十六进制的效果:

function hexEncode(str) {
    let result = '';
    for (let i = 0; i < str.length; i++) {
        const hex = str.charCodeAt(i).toString(16);
        result += ('000' + hex).slice(-4); // 补零至4位
    }
    return result;
}
console.log(hexEncode("ABC")); // 输出: "004100420043"

使用TextEncoder进行UTF-8编码

现代浏览器支持的API,可获取UTF-8字节数组:

js实现cencode

const encoder = new TextEncoder();
const uint8Array = encoder.encode("你好");
console.log(Array.from(uint8Array)); // 输出: [228, 189, 160, 229, 165, 189]

注意事项

  • URL编码时encodeURI不会编码/?:@&=+$#等完整URL需要的字符,而encodeURIComponent会编码这些字符
  • btoa仅支持Latin1字符集,对中文需先进行URI编码:
    btoa(encodeURIComponent("中文")); // 正确做法

以上方法可根据实际需求选择,分别对应不同的编码场景。

标签: jscencode
分享给朋友:

相关文章

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…

js实现滑动

js实现滑动

实现滑动效果的方法 在JavaScript中实现滑动效果可以通过多种方式完成,以下是几种常见的实现方法: 使用CSS过渡和JavaScript触发 通过CSS定义过渡效果,JavaScript控制触…

js 实现mvc

js 实现mvc

MVC 模式简介 MVC(Model-View-Controller)是一种软件设计模式,将应用程序分为三个核心组件:模型(Model)处理数据和业务逻辑,视图(View)负责展示数据,控制器(Con…

js实现递归

js实现递归

递归的基本概念 递归是一种通过函数调用自身来解决问题的方法。在JavaScript中,递归通常用于处理具有重复子问题或分治结构的数据,例如树形结构、阶乘计算等。 递归的实现要点 基线条件(Base…