<html> <head> <meta charset="utf-8"> <title>Base64 En /译码器</title> <script type="text/javascript">
const encode = text => {
return btoa(unescape(encodeURIComponent(text)));
};
const decode = base64 => {
return decodeURIComponent(escape(atob(base64)));
};
const copyForm = id => {
const ele = document.getElementById(id);
ele.select();
document.execCommand("copy");
};
const exportBase64 = () => {
const text = document.getElementById("text").value;
const base64 = encode(text)
const base64Form = document.getElementById("base64");
base64Form.value = base64;
};
const exportText = () => {
const base64 = document.getElementById("base64").value;
const text = decode(base64)
const textForm = document.getElementById("text");
textForm.value = text;
};
</script> <style type="text/css">
body {
background-color: #252C31;
}
div.main {
height: 100%;
max-width: 700px;
margin-left: auto;
margin-right: auto;
}
div.text {
position: relative;
height: 47%;
}
div.buttons {
height: 6%;
display: flex;
justify-content: space-between;
}
textarea {
font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;
font-size: 16px;
line-height: 140%;
border-style: none;
width: 100%;
height: 100%;
resize: none;
color: navajowhite;
background-color: #303C45;
padding: 15px;
}
button {
margin: 5px;
width: 3em;
font-size: 16px;
position: relative;
display: inline-block;
text-decoration: none;
background: #303C45;
color: navajowhite;
font-weight: bold;
border-radius: 2px;
}
button.convert {
font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;
border: none;
}
button.convert:active {
margin-top: 8px;
margin-bottom: 8px;
}
button.decode {
margin-left: 10vw;
}
button.encode {
margin-right: 10vw;
}
button.copy {
height: 2em;
width: 5em;
position: absolute;
right: 10px;
bottom: 10px;
border: solid 2px navajowhite;
}
button.copy:active {
height: 1.8em;
}
button:hover {
background-color: navajowhite;
border-color: navajowhite;
color: #303C45;
}
</style>
</head> <body> <div class="main"> <div class="text"> <textarea id="text" placeholder="请在这里输入要转换成Base64的文本" spellcheck="false" onkeydown="((e) => {if (e.ctrlKey && e.key == 'Enter') exportBase64()})(event)"></textarea> <button class="copy" onclick="copy('text')">复制</button> </div> <div class="buttons"> <button class="decode convert" title="Decode" onclick="exportText()">↑</button> <button class="encode convert" title="Encode" onclick="exportBase64()">↓</button> </div> <div class="text"> <textarea id="base64" placeholder="这里输出转换成Base64的字符串" spellcheck="false" onkeydown="((e) => {if (e.ctrlKey && e.key == 'Enter') exportText()})(event)"></textarea> <button class="copy" onclick="copyForm('base64')">复制</button> </div> </div> </body> </html>评论已关闭!