HEX(16進制/十六進制)字串 和 BASE64字串 互轉網頁線上工具

HEX(16進制/十六進制)字串 和 BASE64字串 互轉網頁線上工具

HEX(16進制/十六進制)字串 和 BASE64字串 互轉網頁線上工具


資料來源: chatGPT 產生


自己站台: http://jashliao.eu/tools/hex_base64_converter.html


網頁IFRAME


code:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HEX ↔ BASE64 Converter</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            padding: 20px;
        }
        .container {
            max-width: 600px;
            margin: auto;
        }
        .input-box {
            width: 100%;
            padding: 10px;
            margin-bottom: 10px;
            border: 1px solid #ccc;
        }
        .btn {
            padding: 10px 15px;
            background-color: #007BFF;
            color: white;
            border: none;
            cursor: pointer;
        }
        .btn:hover {
            background-color: #0056b3;
        }
    </style>
</head>
<body>

    <div class="container">
        <h2>HEX ↔ BASE64 Converter</h2>
        
        <label for="hexInput">Enter HEX String:</label>
        <textarea id="hexInput" class="input-box" rows="5"></textarea>
        <button class="btn" onclick="hexToBase64()">Convert HEX to Base64</button>

        <br><br>

        <label for="base64Input">Enter Base64 String:</label>
        <textarea id="base64Input" class="input-box" rows="5"></textarea>
        <button class="btn" onclick="base64ToHex()">Convert Base64 to HEX</button>

        <br><br>

        <h3>Output:</h3>
        <div id="output"></div>
    </div>

    <script>
		//\x1B\x42\x03\x04 -> 1B420304
		//BASE64 -> G0IDBA==
        // HEX轉Base64
        function hexToBase64() {
            const hex = document.getElementById("hexInput").value.trim();
            if (!/^[0-9A-Fa-f]*$/.test(hex)) {
                alert("Invalid HEX input.");
                return;
            }

            let binaryString = '';
            for (let i = 0; i < hex.length; i += 2) {
                binaryString += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
            }
            const base64String = btoa(binaryString);
            document.getElementById("base64Input").value = base64String;
            document.getElementById("output").innerText = `Base64 Output: \n${base64String}`;
        }

        // Base64轉HEX
        function base64ToHex() {
            const base64 = document.getElementById("base64Input").value.trim();
            try {
                const binaryString = atob(base64);
                let hexString = '';
                for (let i = 0; i < binaryString.length; i++) {
                    hexString += ('00' + binaryString.charCodeAt(i).toString(16)).slice(-2);
                }
                document.getElementById("hexInput").value = hexString;
                document.getElementById("output").innerText = `HEX Output: \n${hexString}`;
            } catch (e) {
                alert("Invalid Base64 input.");
            }
        }
    </script>
</body>
</html>

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *