From e22f81b5f364602998d2f233a37e486b4480d308 Mon Sep 17 00:00:00 2001 From: huangxd- <649924757@qq.com> Date: Fri, 27 Feb 2026 23:41:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dfw=E4=B8=AD=E6=B2=A1=E6=9C=89?= =?UTF-8?q?atob=E5=92=8Cbtoa=E5=87=BD=E6=95=B0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- danmu_api/utils/codec-util.js | 4 ++-- danmu_api/utils/hanjutv-util.js | 19 +------------------ 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/danmu_api/utils/codec-util.js b/danmu_api/utils/codec-util.js index a112186..1756091 100644 --- a/danmu_api/utils/codec-util.js +++ b/danmu_api/utils/codec-util.js @@ -437,7 +437,7 @@ function pkcs7Unpad(data){ } // ====================== Base64 解码 ====================== -function base64ToBytes(b64) { +export function base64ToBytes(b64) { // 先把 Base64 字符串转换成普通字符 const binaryString = (typeof atob === 'function') ? atob(b64) // 浏览器环境 @@ -581,7 +581,7 @@ function str2bytes(str) { } // ===================== Base64 编码 ===================== -function bytesToBase64(bytes) { +export function bytesToBase64(bytes) { const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; let result = ''; let i; diff --git a/danmu_api/utils/hanjutv-util.js b/danmu_api/utils/hanjutv-util.js index ca28046..0c69292 100644 --- a/danmu_api/utils/hanjutv-util.js +++ b/danmu_api/utils/hanjutv-util.js @@ -1,4 +1,4 @@ -import { md5, stringToUtf8Bytes, utf8BytesToString } from "./codec-util.js"; +import { md5, stringToUtf8Bytes, utf8BytesToString, bytesToBase64, base64ToBytes } from "./codec-util.js"; const HANJUTV_VERSION = "6.5.3"; const HANJUTV_VC = "a_7980"; @@ -45,23 +45,6 @@ function utf8Decode(bytes) { return utf8BytesToString(bytes); } -function bytesToBase64(bytes) { - if (typeof Buffer !== "undefined") return Buffer.from(bytes).toString("base64"); - - let binary = ""; - for (let i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]); - return btoa(binary); -} - -function base64ToBytes(base64) { - if (typeof Buffer !== "undefined") return new Uint8Array(Buffer.from(base64, "base64")); - - const binary = atob(base64); - const bytes = new Uint8Array(binary.length); - for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i); - return bytes; -} - function xorBytes(a, b) { const out = new Uint8Array(a.length); for (let i = 0; i < a.length; i++) out[i] = a[i] ^ b[i];