Const
将一个字符串编码为 base64 格式的字符串
函数则是以传统的 Base64 编码方式实现的 JavaScript 函数,可以在任何环境下运行。该函数通过遍历输入字符串的每个字符,将其转换为对应的二进制数据,并对这些数据进行 Base64 编码,最终返回编码后的字符串。此外,与 btoa 不同的是,base64_encode 可以处理任何字符集的字符串,包括 Unicode 字符等。
可以看到,在该示例中,我们将字符串 'Hello, world!' 传入 base64_encode 方法中,该方法返回了对该字符串进行 Base64 编码后得到的编码字符串 'SGVsbG8sIHdvcmxkIQ=='。
// 对字符串 'Hello, world!' 进行 Base64 编码
const encodedStr = base64_encode('Hello, world!');
console.log(encodedStr); // 输出 'SGVsbG8sIHdvcmxkIQ=='
要编码的字符串
编码后的 base64 字符串
这个方法用于将给定的 Base64 编码字符串解码为原始字符串。它接受一个参数:要进行解码的 Base64 字符串 str,并返回解码后的原始字符串。
该方法一般用于网络传输等场景中,将 Base64 编码格式的数据还原为原始的 ASCII 字符串。在实际使用过程中需要注意,如果输入字符串包含非 ASCII 字符,则无法正确解码,会导致错误结果。
这个方法采用了 Base64_3 类中定义的 atob() 方法进行解码,可以将任意长度的 Base64 编码字符串还原为原始的 ASCII 字符串。在解码过程中,会把输入字符串中的每一个 Base64 字符转换为对应的 ASCII 码,并通过位运算还原出最初的二进制数据。由于 Base64 编码是按照固定的规则进行转换的,因此该方法可以准确地还原原始数据。如果输入字符串中有空格或者等号,会先将其去掉,以避免解码错误。
const base64Str = 'aGVsbG8gd29ybGQ='
const str = base64decode(base64Str) // 解码字符串
console.log(str) // 输出 hello world
要进行解码的 Base64 字符串
返回解码后的原始字符串(仅包含 ASCII 字符)
这个方法用于将给定字符串进行 Base64 编码。它接受一个参数:要进行编码的字符串 str,并返回编码后的 Base64 字符串。
该方法一般用于网络传输等场景中,将 ASCII 字符串转换为可读性较好、易于传输的 Base64 编码格式。在实际使用过程中需要注意,由于 Base64 编码需要额外的字符开销,因此会增加数据的大小,并降低传输速度。
如果输入字符串包含非 ASCII 字符,则抛出异常
这个方法采用了 Base64_3 类中定义的 btoa() 方法进行编码,可以将任意长度的 ASCII 字符串转换为 Base64 编码格式。在编码过程中,会将每个字符拆分成 8 位二进制数,并使用 Base64 字符表将其转换为对应的字符。如果输入字符串包含非 ASCII 字符,则会抛出异常。
const str = 'hello world'
const base64Str = base64encode(str) // 编码字符串
console.log(base64Str) // 输出 aGVsbG8gd29ybGQ=
要进行编码的字符串(仅支持 ASCII 字符)
返回编码后的 Base64 字符串
这个方法用于将 Base64 编码的字符串解码为二进制数据。它接受一个参数:要进行解码的 Base64 字符串 data,并返回解码后的二进制数据。
该方法一般用于网络传输等场景中,将 Base64 编码的数据解码为原始的二进制格式。在实际使用过程中需要注意,由于 Base64 编码需要额外的字符开销,因此会增加数据的大小,并降低传输速度。
该方法采用了 _decbase64data 方法中定义的 Base64 解码算法,可以将任意长度的 Base64 编码的字符串解码为原始的二进制数据。在解码过程中,会将每个输入字符转换为对应的 6 位二进制数,并将相邻的三个 6 位二进制数合并成一个 8 位字节。
// 将一个 Base64 字符串解码为 Uint8Array 类型的二进制数据
const base64Str = 'SGVsbG8sIHdvcmxkIQ=='
const data = decbase64data(base64Str)
console.log(data) // 输出 Uint8Array([72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33])
要进行解码的 Base64 字符串
返回解码后的二进制数据
这个方法用于将二进制数据转换为 Base64 编码的字符串。它接受一个参数:要进行编码的二进制数据 data,并返回编码后的 Base64 字符串。
该方法一般用于网络传输等场景中,将二进制数据转换为可读性较好、易于传输的 Base64 编码格式。在实际使用过程中需要注意,由于 Base64 编码需要额外的字符开销,因此会增加数据的大小,并降低传输速度。
该方法采用了 _encbase64data 方法中定义的 Base64 编码算法,可以将任意长度的二进制数据转换为 Base64 编码的字符串。在编码过程中,会将每个输入字节拆分成 6 位二进制数,并使用 Base64 字符表将其转换为对应的字符。
// 将一个 Uint8Array 类型的二进制数据编码为 Base64 字符串
const data = new Uint8Array([72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33])
const base64Str = encbase64data(data)
console.log(base64Str) // 输出 'SGVsbG8sIHdvcmxkIQ=='
要进行编码的二进制数据
返回编码后的 Base64 字符串
该方法用于对输入字符串进行哈希计算,并返回计算出的哈希值。
这个方法是一个高层次的封装,它调用了 Base64_4 类中的 _hashcode 方法来实现对输入字符串的哈希计算,并返回计算出的哈希值。它接受两个参数:要计算哈希值的字符串 input 和一个可选的布尔值参数 out,用于指示是否输出计算耗时到控制台。
该方法是一个比较通用的工具方法,在数据编码和解码过程中经常被使用。它可以根据输入字符串的内容来计算出其唯一的哈希值,并生成固定长度的字符串,以便在数据传输过程中检测数据完整性和防止篡改。
该方法采用了一种简单的哈希算法,可以对任何长度的字符串进行计算,并输出固定长度的哈希值。在计算过程中,会对每个字符进行特定的处理,并累加到哈希值中。最终,会使用 _hashcode 方法中定义的 Base64 字符表将哈希值转换为 6 位长度的字符串,以便在数据编码和解码过程中使用。
// 计算字符串 'Hello, world!' 的哈希值
const hash = hashcode('Hello, world!')
console.log(hash) // 输出 'TYqFf7'
要计算哈希值的字符串
Optional
out: boolean如果为 true,则输出计算耗时到控制台
返回计算出的哈希值
这个方法用于生成一个指定长度的随机字符串,它接受两个参数:要生成的字符串长度 len 和可选的字符集 charSet。如果未提供字符集,则默认使用 Base64 字符表。
该方法采用了基于 Math.random() 函数的伪随机数生成器,可以在输入长度为 len 和字符集为 charSet 的情况下,生成一个由随机字符组成的字符串。
// 生成一个长度为 8 的随机字符串
const randomStr = randomString(8)
console.log(randomStr) // 输出形如 'zTBwQZj0' 的随机字符串
要生成的字符串长度
Optional
charSet: string字符集,默认为 Base64 字符表
返回生成的随机字符串
该方法用于对给定的 UTF-8 编码字符串进行解码,并返回解码后的原始字符串。在对字符串进行解码之前,会先判断字符串中每个字符的编码方式,并根据编码方式将其转换为相应的 Unicode 字符。
可以看到,在该示例中,我们将一个 UTF-8 编码的字符串 'ææ˜¯ä¸å›½äºº' 传入 utf8_decode 方法中,该方法返回了对该字符串进行解码后得到的原始字符串 '我是中国人'。
该方法的作用是在数据传输过程中,将以 UTF-8 编码的字符串转换为原始的 Unicode 字符串,以便后续对数据进行处理和分析。
// 对 UTF-8 编码的字符串 'ææ˜¯ä¸å›½äºº' 进行解码
const rawStr = utf8_decode('ææ˜¯ä¸å›½äºº');
console.log(rawStr); // 输出 '我是中国人'
要解码的 UTF-8 编码字符串
返回解码后的原始字符串
Generated using TypeDoc
则是以传统的 Base64 解码方式实现的 JavaScript 函数,可以在任何环境下运行。该函数通过遍历输入字符串的每个字符,将其转换为对应的二进制数据,并对这些数据进行 Base64 解码,最终返回解码后的字符串。此外,与 atob 不同的是,base64_decode 可以处理任何字符集的字符串,包括 Unicode 字符等。
Description
可以看到,在该示例中,我们将编码后的字符串 'SGVsbG8sIHdvcmxkIQ==' 传入 base64_decode 方法中,该方法返回了对该字符串进行 Base64 解码后得到的原始字符串 'Hello, world!'。
Example