背景介绍
本项目旨在通过前端实现数字二进制转换功能,用户输入数字后,系统将其转换为二进制形式并保存至本地文件中,同时在页面上显示结果。该项目无需依赖框架或外部服务,仅依赖HTML、CSS和JavaScript,确保独立运行。
思路分析
- 输入处理:
用户输入数字(如123),前端需读取输入并处理。 - 二进制转换:
将输入数字转换为二进制字符串,需手动实现转换函数。 - 本地文件保存:
将二进制字符串保存为文件(如binary_data.txt),使用文件读写功能。 - 可视化显示:
在页面上显示二进制字符串,确保用户能直接查看结果。
代码实现
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>二进制转换器</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
padding: 20px;
}
h1 {
color: #333;
}
#binary-display {
margin-top: 20px;
font-size: 24px;
}
</style>
</head>
<body>
<h1>数字二进制转换器</h1>
<input type="number" id="num-input" placeholder="输入数字(例如123)" />
<button onclick="convertBinary()">转换</button>
<div id="binary-display" style="display: none; font-size: 20px; margin-top: 10px; color: #333;"></div>
<script>
function convertBinary() {
const numInput = document.getElementById('num-input');
const binaryDisplay = document.getElementById('binary-display');
if (numInput.value === '') {
alert("请输入数字!");
return;
}
const num = numInput.value;
const binaryStr = convertToBinary(parseInt(num));
binaryDisplay.textContent = binaryStr;
saveBinary(binaryStr, 'binary_data.txt');
}
function convertToBinary(n) {
if (n === 0) return '0';
const binary = [];
while (n > 0) {
binary.unshift(n % 2);
n = Math.floor(n / 2);
}
return binary.join('');
}
function saveBinary(binaryStr, filename) {
const blob = new Blob([binaryStr], { type: 'text/plain' });
const url = URL.createObjectURL(blob);
navigator.clipboard.writeText(binaryStr);
alert('二进制字符串已保存到文件:' + filename);
}
</script>
</body>
</html>
总结
- 文件读写与数据处理:
项目实现了文件读写功能,确保数据安全且可保存。 - 二进制转换:
使用手动实现的二进制转换函数,处理了从十进制到二进制的转换。 - 前端逻辑:
项目依赖HTML、CSS和JavaScript,通过按钮实现用户交互,确保界面简洁易用。
该项目难度适中,仅需1~3天实现,同时具备学习价值。