base64加密调整适配
This commit is contained in:
parent
ac2c457a8e
commit
f8204dc2d8
@ -5,8 +5,15 @@
|
|||||||
*/
|
*/
|
||||||
export const encodeBase64 = (str) => {
|
export const encodeBase64 = (str) => {
|
||||||
try {
|
try {
|
||||||
// 使用 btoa 进行 base64 编码
|
// 使用 UTF-8 编码处理字符串
|
||||||
return btoa(str);
|
const utf8Encoder = new TextEncoder();
|
||||||
|
const bytes = utf8Encoder.encode(str);
|
||||||
|
// 将字节数组转换为 base64
|
||||||
|
let binary = '';
|
||||||
|
for (let i = 0; i < bytes.length; i++) {
|
||||||
|
binary += String.fromCharCode(bytes[i]);
|
||||||
|
}
|
||||||
|
return btoa(binary);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Base64 编码失败:', error);
|
console.error('Base64 编码失败:', error);
|
||||||
return '';
|
return '';
|
||||||
@ -20,8 +27,15 @@ export const encodeBase64 = (str) => {
|
|||||||
*/
|
*/
|
||||||
export const decodeBase64 = (str) => {
|
export const decodeBase64 = (str) => {
|
||||||
try {
|
try {
|
||||||
// 使用 atob 进行 base64 解码
|
// 解码 base64
|
||||||
return atob(str);
|
const binary = atob(str);
|
||||||
|
// 将二进制字符串转换为字节数组
|
||||||
|
const bytes = new Uint8Array(binary.length);
|
||||||
|
for (let i = 0; i < binary.length; i++) {
|
||||||
|
bytes[i] = binary.charCodeAt(i);
|
||||||
|
}
|
||||||
|
// 使用 UTF-8 解码
|
||||||
|
return new TextDecoder().decode(bytes);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Base64 解码失败:', error);
|
console.error('Base64 解码失败:', error);
|
||||||
return '';
|
return '';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user