tools/base64/zh.html
2024-10-17 09:56:46 +08:00

209 lines
8.8 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Base64编解码</title>
<!-- Bootstrap -->
<link href="https://cdn.gh.ink/assembly/bootstrap/4.6.1/css/bootstrap.min.css" rel="stylesheet">
<!-- Favicon -->
<link rel="icon" href="https://2-cdn.ianxia.com/images/avatar/common.png" type="image/png">
<script src="https://cdn.gh.ink/js/vue/2.6.14/vue.min.js"></script>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="https://tools.ianxia.com"><b>Ian</b>Tools</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
语言
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="en.html"><b>English</b></a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="https://www.ianxia.com">首页</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://blog.ianxia.com">博客</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://demo.ianxia.com">DEMO</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://adsb.ianxia.com">ADS-B</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="../zh.html">小工具</a>
</li>
</ul>
</div>
</nav>
<section>
<div class="jumbotron text-center mt-2">
<div class="container">
<div class="row">
<div class="col-12">
<h1>Base64编解码</h1>
</div>
</div>
</div>
</div>
</section>
<section>
<div class="container" id="app">
<div class="text-center">
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="text-tab" data-toggle="tab" href="#text" role="tab" aria-controls="text"
aria-selected="true">
<h6>文本</h6>
</a>
</li>
</ul>
<div class="tab-content border border-top-0" id="myTabContent">
<div class="tab-pane fade show active" id="text" role="tabpanel" aria-labelledby="text-tab">
<br>
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-10">
<form role="form">
<div>
<label><b>原文:</b>&nbsp;</label>
<input type="text" class="form-control" v-model="source_text" placeholder="请输入内容"><br>
</div>
</form>
</div>
</div>
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-5">
<form role="form">
<div>
<label><b>Base64</b>&nbsp;</label>
<textarea type="text" class="form-control" v-model="based_text" placeholder="请输入内容"></textarea><br>
</div>
</form>
</div>
<div class="col-md-5">
<form role="form">
<div>
<label><b>Base64 URI</b>&nbsp;</label>
<textarea type="text" class="form-control" v-model="based_uri_text" placeholder="请输入内容"></textarea><br>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="text-center">
<hr>
<h5>使用类库:<a href="https://github.com/dankogai/js-base64">js-base64</a></h5>
</div>
</div>
</div>
</section>
<hr>
<script src="https://cdn.gh.ink/js/base64/3.7.2/base64.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
source_text: "请输入内容",
based_text: Base64.encode('请输入内容'),
based_uri_text: Base64.encodeURI('请输入内容')
},
watch: {
source_text: function() {
this.based_text = Base64.encode(this.source_text);
this.based_uri_text = Base64.encodeURI(this.source_text);
},
based_text: function() {
this.source_text = Base64.decode(this.based_text);
this.based_uri_text = Base64.encodeURI(this.source_text);
},
based_uri_text: function() {
this.source_text = Base64.decode(this.based_uri_text);
this.based_text = Base64.encode(this.source_text);
}
}
})
let date = new Date();
</script>
<footer class="text-center">
<div class="container">
<div class="row">
<div class="col-12">
<p style="color: #516069"><strong>版权所有 © Ian Xia <script>document.write(date.getFullYear().toString());</script> 保留所有权利</strong></p>
</div>
</div>
</div>
</footer>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://cdn.gh.ink/js/jquery/jquery-3.6.0.min.js"></script>
<!-- Grey Filter Detector -->
<script>
$.ajax({
type: "GET",
url: "https://api.gh.ink/grey_filter",
dataType: "json",
success: function(data, textStatus){
for (let i=0;i<data["content"]["accurate_slot"].length;i++) {
// Accurate Slot
if (Date.now()/1000 >= data["content"]["accurate_slot"][i][0] && Date.now()/1000 <= data["content"]["accurate_slot"][i][1]) {
$("html").css({
'-webkit-filter': 'grayscale(100%)',
'-moz-filter': 'grayscale(100%)',
'-ms-filter': 'grayscale(100%)',
'-o-filter': 'grayscale(100%)',
'filter': 'progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)',
'_filter': 'none'
});
break;
}
}
for (let i=0;i<data["content"]["day_slot"].length;i++) {
// Day Slot
let begin = new Date(
date.getFullYear().toString() + "-" +
data["content"]["day_slot"][i][0][0].toString() + "-" +
data["content"]["day_slot"][i][0][1].toString() + " " +
data["content"]["day_slot"][i][0][2].toString() + ":" +
data["content"]["day_slot"][i][0][3].toString() + ":" +
data["content"]["day_slot"][i][0][4].toString()
)
let end = new Date(
date.getFullYear().toString() + "-" +
data["content"]["day_slot"][i][1][0].toString() + "-" +
data["content"]["day_slot"][i][1][1].toString() + " " +
data["content"]["day_slot"][i][1][2].toString() + ":" +
data["content"]["day_slot"][i][1][3].toString() + ":" +
data["content"]["day_slot"][i][1][4].toString()
)
if (Date.now() >= begin.getTime() && Date.now() <= end.getTime()) {
$("html").css({
'-webkit-filter': 'grayscale(100%)',
'-moz-filter': 'grayscale(100%)',
'-ms-filter': 'grayscale(100%)',
'-o-filter': 'grayscale(100%)',
'filter': 'progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)',
'_filter': 'none'
});
break;
}
}
}
});
</script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="https://cdn.gh.ink/js/popper/1.16.1/popper.min.js"></script>
<script src="https://cdn.gh.ink/assembly/bootstrap/4.6.1/js/bootstrap.min.js"></script>
</body>
</html>