deno.land / x / hono@v4.2.5 / utils / encode.ts

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
export const decodeBase64Url = (str: string): Uint8Array => { return decodeBase64(str.replace(/_|-/g, (m) => ({ _: '/', '-': '+' }[m] ?? m)))}
export const encodeBase64Url = (buf: ArrayBufferLike): string => encodeBase64(buf).replace(/\/|\+/g, (m) => ({ '/': '_', '+': '-' }[m] ?? m))
// This approach is written in MDN.// btoa does not support utf-8 characters. So we need a little bit hack.export const encodeBase64 = (buf: ArrayBufferLike): string => { let binary = '' const bytes = new Uint8Array(buf) for (let i = 0, len = bytes.length; i < len; i++) { binary += String.fromCharCode(bytes[i]) } return btoa(binary)}
// atob does not support utf-8 characters. So we need a little bit hack.export const decodeBase64 = (str: string): Uint8Array => { const binary = atob(str) const bytes = new Uint8Array(new ArrayBuffer(binary.length)) const half = binary.length / 2 for (let i = 0, j = binary.length - 1; i <= half; i++, j--) { bytes[i] = binary.charCodeAt(i) bytes[j] = binary.charCodeAt(j) } return bytes}
hono

Version Info

Tagged at
a month ago