From ac2c457a8e4eb0a81401d260a52bf8135e3b2959 Mon Sep 17 00:00:00 2001 From: yy2205 <2238220225@qq.com> Date: Thu, 22 May 2025 17:17:38 +0800 Subject: [PATCH] =?UTF-8?q?base64=E5=8A=A0=E5=AF=86=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/base64.ts | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/utils/base64.ts b/src/utils/base64.ts index 7bb9a7d7..4b1bf288 100644 --- a/src/utils/base64.ts +++ b/src/utils/base64.ts @@ -1,11 +1,12 @@ /** - * 将字符串转换为 base64 编码 - * @param {string} str 需要编码的字符串 - * @returns {string} base64 编码后的字符串 - */ +  * 将字符串转换为 base64 编码(兼容 Java Base64.getDecoder()) +  * @param {string} str 需要编码的字符串 +  * @returns {string} base64 编码后的字符串 +  */ export const encodeBase64 = (str) => { try { - return btoa(unescape(encodeURIComponent(str))); + // 使用 btoa 进行 base64 编码 + return btoa(str); } catch (error) { console.error('Base64 编码失败:', error); return ''; @@ -13,13 +14,14 @@ export const encodeBase64 = (str) => { }; /** - * 将 base64 编码的字符串解码 - * @param {string} str base64 编码的字符串 - * @returns {string} 解码后的原始字符串 - */ +  * 将 base64 编码的字符串解码(兼容 Java Base64.getDecoder()) +  * @param {string} str base64 编码的字符串 +  * @returns {string} 解码后的原始字符串 +  */ export const decodeBase64 = (str) => { try { - return decodeURIComponent(escape(atob(str))); + // 使用 atob 进行 base64 解码 + return atob(str); } catch (error) { console.error('Base64 解码失败:', error); return '';