解析原来浏览器原生支持JS Base64编码解码

yizhihongxing

当我们需要在前端对数据进行编码或解码时,可以使用JavaScript中的Base64方法。而浏览器也提供了原生支持Base64编码解码的方法,我们只需要使用浏览器提供的方法即可。

浏览器原生方法

浏览器原生方法包括 window.btoa()window.atob(),分别用于编码和解码Base64数据。

编码方法:window.btoa()

将字符串或二进制数据编码为Base64数据。

let data = "Hello, world!";
let base64Data = window.btoa(data);
console.log(base64Data); // "SGVsbG8sIHdvcmxkIQ=="

解码方法:window.atob()

将Base64数据解码为原始字符串或二进制数据。

let base64Data = "SGVsbG8sIHdvcmxkIQ==";
let decodedData = window.atob(base64Data);
console.log(decodedData); // "Hello, world!"

需要注意的是,使用window.atob()解码Base64数据时,如果数据格式不正确会抛出异常。

实际应用示例

示例1:图片 Base64 编解码

在前端开发过程中,我们可能会使用 Base64 编码给图片加上水印、缩略图等效果。以下是一个简单的示例:

<!-- HTML -->
<img id="image" src="./example.png" />

<!-- JavaScript -->
const image = document.getElementById("image");
const canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;

const ctx = canvas.getContext("2d");
ctx.drawImage(image, 0, 0, canvas.width, canvas.height);

// 将画布转换为 Base64 数据
const base64Data = canvas.toDataURL();

// 将 Base64 数据放入 img 标签
image.src = base64Data;

示例2:WebSocket 数据传输中 Base64 编解码

在使用 WebSocket 进行数据传输时,为了避免在传输过程中出现特殊字符而导致的问题,可以使用 Base64 编码对数据进行处理。

以下是一个示例,演示如何在使用 WebSocket 进行数据传输时进行 Base64 编解码:

const socket = new WebSocket("wss://example.com/ws");

function sendMsg(msg) {
  // 将原始消息转换为 Base64 数据
  const base64Data = window.btoa(msg);
  socket.send(base64Data);
}

socket.onmessage = (event) => {
  const base64Data = event.data;
  // 将 Base64 数据解码为原始消息
  const msg = window.atob(base64Data);
  console.log("Received message:", msg);
};

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解析原来浏览器原生支持JS Base64编码解码 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • js中string之正则表达式replace方法详解

    JS中String之正则表达式replace方法详解 什么是正则表达式 正则表达式可以理解为是一种匹配文本模式的规则。使用正则表达式可以方便地进行文本操作,如查找、替换、匹配等。在JavaScript中,可以使用RegExp对象来表示正则表达式。 replace方法概述 字符串的replace()方法可以用来替换字符串中的文本。它可以接受两个参数,第一个参数…

    JavaScript 2023年5月28日
    00
  • JavaScript”模拟事件”的注意要点详解

    下面我将详细讲解“JavaScript模拟事件”的注意要点。 简介 在网页开发中,为了实现交互效果,我们需要触发一些事件,例如鼠标点击,键盘输入等。有些事件无法使用用户的交互来触发,这时我们就需要使用JavaScript来模拟事件,实现相应的交互效果。 注意要点 1. 选择正确的事件类型 在模拟事件前,需要选择正确的事件类型。JavaScript支持的事件类…

    JavaScript 2023年6月10日
    00
  • JavaScript表单通过正则表达式验证电话号码

    以下是JavaScript表单通过正则表达式验证电话号码的完整攻略: 1. 理解正则表达式 正则表达式是一种表示文本模式的方法,可以用于搜索、替换和验证字符串。在JavaScript中,可以使用RegExp对象来创建正则表达式。常用的正则表达式元字符包括: ^ 匹配字符串开头 $ 匹配字符串结尾 . 匹配除换行符外的任意字符 \d 匹配数字 + 匹配前面的元…

    JavaScript 2023年6月10日
    00
  • Javascript中的方法和匿名方法实例详解

    Javascript中的方法和匿名方法实例详解 在Javascript中,方法和匿名方法是非常常用的函数形式。本文将详细讲解这两种函数的概念,区别,用法和实例。 方法 概念 方法就是被绑定到某个对象上的函数,在一个对象上定义一个方法,就是在对象上添加一个函数属性。 语法 对象名.方法名 = function(参数) { // 函数体 } 其中,对象名就是方法…

    JavaScript 2023年6月10日
    00
  • javascript表单控件实例讲解

    JavaScript表单控件实例讲解 JavaScript是一种脚本语言,经常用于网页中对用户输入信息的校验和处理。表单是用户和服务器之间交换数据的最主要方式之一,JavaScript正是被广泛用于表单交互的。 表单控件分类 表单控件通常分为以下几类: 文本类控件:包括文本框、密码框、文本域等; 选择类控件:包括单选框、复选框、下拉框等; 文件上传类控件:用…

    JavaScript 2023年5月28日
    00
  • 跨站攻击之实现Http会话劫持的手法

    跨站攻击(Cross-Site Attack)又称为XSS攻击,是指攻击者在网页中插入恶意脚本,使受害者在访问网页时,网页中的恶意脚本被执行从而攻击受害者。跨站攻击有很多种形式,其中之一就是Http会话劫持,下面我们来看看这种手法的攻略。 什么是Http会话劫持 Http会话劫持是指攻击者在网站上注入一段代码,通过劫持用户已经建立的会话从而获取用户的权限、获…

    JavaScript 2023年6月11日
    00
  • JavaScript之引用类型介绍

    下面是详细讲解“JavaScript之引用类型介绍”的完整攻略。 引用类型介绍 在JavaScript中,除了基本类型(number、string、boolean、null、undefined)之外,还有一类特殊的类型,被称为引用类型。引用类型是由多个值组成的对象。 对象 对象是引用类型的最基本类型。对象是由多个键值对组成的属性集合。 创建对象有两种方式,一…

    JavaScript 2023年5月19日
    00
  • DOM3中的js textInput文本事件

    DOM3中的textInput事件详解 textInput事件是DOM3规范中新加入的文本输入事件,用于处理在元素中输入文本的情况。在此之前,开发人员通常使用keyup、keydown等事件来处理文本输入的情况,但这些事件存在一些问题,比如无法处理复制、粘贴等操作。 textInput事件的优势在于可以精确地跟踪用户的输入,并且可以在用户输入结束后触发,不需…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部