decodeTextByArrayBuffer【ArrayBuffer对象解密密后的文本】
上次更新: 2025/07/01, 14:52:29
描述
将文本通过 ArrayBuffer 对象解密后的文本 v3.3.2+
<template>
<div class="flex flex-col">
<div class="flex gap-8px">
<el-input placeholder="请输入要解密的文本" v-model="text" />
<el-button class="flex-none" :disabled="!text" @click="onEncode">点击解密</el-button>
</div>
<el-divider />
<div class="mt-4px max-h-400px overflow-y-auto">得到的解密文本:{{ encodeText }}</div>
</div>
</template>
<script>
import { decodeTextByArrayBuffer } from 'sf-utils2'
export default {
data() {
return {
text: '',
encodeText: ''
}
},
methods: {
async onEncode() {
this.encodeText = await decodeTextByArrayBuffer.ts(this.text)
}
}
}
</script>
| 参数 | 说明 | 类型 | 是否必填 | 默认值 |
|---|---|---|---|---|
| text | 要解密的文本 | string | 是 |
import arrayBufferToText from '@/stream/arrayBufferToText.ts'
/**
* 将文本通过ArrayBuffer对象解密后的文本
*
*
*/
async function decodeTextByArrayBuffer(text: string): Promise<string> {
if (!text) return ''
const unit8ArrayLike = JSON.parse(decodeURIComponent(atob(text))) as string[]
if (!Array.isArray(unit8ArrayLike)) return ''
const bytes = new Uint8Array(unit8ArrayLike.length)
for (let i = 0; i < unit8ArrayLike.length; i++) {
bytes[i] = +unit8ArrayLike[i]
}
return await arrayBufferToText(bytes)
}
export default decodeTextByArrayBuffer