mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-04-23 08:16:16 -04:00
feat(tools): added base64 string converter
This commit is contained in:
parent
34800f461d
commit
67bc09ccfd
2 changed files with 67 additions and 0 deletions
60
pages/tools/converter/base64-string-converter.vue
Normal file
60
pages/tools/converter/base64-string-converter.vue
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
<template>
|
||||||
|
<ToolWrapper :config="config()">
|
||||||
|
<v-textarea
|
||||||
|
v-model="clearText"
|
||||||
|
outlined
|
||||||
|
label="Clear text"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<v-textarea
|
||||||
|
v-model="base64Text"
|
||||||
|
outlined
|
||||||
|
readonly
|
||||||
|
label="Base64 text"
|
||||||
|
/>
|
||||||
|
<div class="text-center">
|
||||||
|
<v-btn depressed @click="copy(clearText)">
|
||||||
|
Copy clear
|
||||||
|
</v-btn>
|
||||||
|
<v-btn depressed @click="copy(base64Text)">
|
||||||
|
Copy hash
|
||||||
|
</v-btn>
|
||||||
|
</div>
|
||||||
|
</ToolWrapper>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import {Component} from 'nuxt-property-decorator'
|
||||||
|
import {CopyableMixin} from '~/mixins/copyable.mixin'
|
||||||
|
import Tool from '~/components/Tool.vue'
|
||||||
|
import type {ToolConfig} from '~/types/ToolConfig'
|
||||||
|
import {base64ToString, stringToBase64} from '~/utils/convert'
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
mixins: [CopyableMixin]
|
||||||
|
})
|
||||||
|
export default class Base64StringConverter extends Tool {
|
||||||
|
config(): ToolConfig {
|
||||||
|
return {
|
||||||
|
title: 'Base64 string converter',
|
||||||
|
description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus distinctio dolor dolorum eaque eligendi, facilis impedit laboriosam odit placeat.',
|
||||||
|
icon: 'mdi-text-box-outline',
|
||||||
|
keywords: ['base64', 'base', '64', 'converter']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
clearText = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.'
|
||||||
|
|
||||||
|
get base64Text() {
|
||||||
|
return stringToBase64(this.clearText)
|
||||||
|
}
|
||||||
|
|
||||||
|
set base64Text(value: string) {
|
||||||
|
this.clearText = base64ToString(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
</style>
|
7
utils/convert.ts
Normal file
7
utils/convert.ts
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
const base64ToString = (str: string) => Buffer.from(str, 'base64').toString('utf-8')
|
||||||
|
const stringToBase64 = (str: string) => Buffer.from(str, 'utf-8').toString('base64')
|
||||||
|
|
||||||
|
export {
|
||||||
|
stringToBase64,
|
||||||
|
base64ToString
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue