📌  相关文章
📜  javascript base64 到长度 - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:04.708000             🧑  作者: Mango

JavaScript Base64 到长度

在 JavaScript 中,Base64 是一种编码方式,将二进制数据转换成 ASCII 字符串。它通常用于网络传输、处理二进制数据等场景中。

在实际应用过程中,我们可能需要将 Base64 编码后的数据转换成原始二进制数据并获取其长度。这篇文章将介绍如何在 JavaScript 中实现这一操作。

Base64 编码与解码

在 JavaScript 中,可以通过内置的 btoa()atob() 函数进行 Base64 编码与解码。

// 编码
const str = 'Hello, world!'
const base64Str = btoa(str)
console.log(base64Str) // "SGVsbG8sIHdvcmxkIQ=="

// 解码
const decodedStr = atob(base64Str)
console.log(decodedStr) // "Hello, world!"
将 Base64 转换成原始二进制数据

在 JavaScript 中,我们可以使用 atob() 函数将 Base64 编码字符串转换成二进制数据。

const base64Str = "SGVsbG8sIHdvcmxkIQ=="
const binaryStr = atob(base64Str)

console.log(binaryStr) // "Hello, world!"
获取二进制数据的长度

对于字符串类型的数据,我们可以使用 length 属性获取其长度。然而,对于二进制数据类型,我们需要使用 byteLength 属性才能获取其长度。

const binaryStr = "\x48\x65\x6c\x6c\x6f\x2c\x20\x77\x6f\x72\x6c\x64\x21" // "Hello, world!"
const binaryData = new Uint8Array(binaryStr.length)

for (let i = 0; i < binaryStr.length; i++) {
  binaryData[i] = binaryStr.charCodeAt(i)
}

console.log(binaryData.byteLength) // 13

注意,在上述示例代码中,我们使用 Uint8Array() 构造函数将字符串转换成了一个字节的二进制数据。另外,字符串转换成二进制数据的过程中,我们还需要使用 charCodeAt() 方法获取相应字符的 Unicode 编码。最后,我们使用 byteLength 属性获取了二进制数据的长度。

总结

在 JavaScript 中,可以使用 btoa()atob() 函数进行 Base64 编码与解码。要将 Base64 编码后的数据转换成原始二进制数据并获取其长度,我们可以通过 atob() 函数将其转换成二进制数据,然后使用 byteLength 属性获取其长度。