Hexadecimal Decoder

Decodes selected hexadecimal text and shows an alert with the decoded text

Bu betiği kurabilmeniz için Tampermonkey, Greasemonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

You will need to install an extension such as Tampermonkey to install this script.

Bu betiği kurabilmeniz için Tampermonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Userscripts gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

You will need to install an extension such as Tampermonkey to install this script.

Bu komut dosyasını yüklemek için bir kullanıcı komut dosyası yöneticisi uzantısı yüklemeniz gerekecek.

(Zaten bir kullanıcı komut dosyası yöneticim var, kurmama izin verin!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Zateb bir user-style yöneticim var, yükleyeyim!)

// ==UserScript==
// @name         Hexadecimal Decoder
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Decodes selected hexadecimal text and shows an alert with the decoded text
// @author       enDoctore
// @license      CC BY 4.0
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Variable to store the selected hexadecimal text
    let selectedHex = '';

    // Listen for the context menu event
    document.addEventListener('contextmenu', function(event) {
        // Get the selected text
        selectedHex = window.getSelection().toString().trim();

        // Check if the selected text is hexadecimal
        if (isHexadecimal(selectedHex)) {
            // Create a custom context menu item
            const menuItem = document.createElement('div');
            menuItem.innerText = 'Decode Hexadecimal';
            menuItem.style.position = 'absolute';
            menuItem.style.backgroundColor = '#fff';
            menuItem.style.border = '1px solid #ccc';
            menuItem.style.padding = '5px';
            menuItem.style.zIndex = '1000';
            document.body.appendChild(menuItem);

            // Position the menu item
            menuItem.style.left = `${event.pageX}px`;
            menuItem.style.top = `${event.pageY}px`;

            // Add click event to the menu item
            menuItem.addEventListener('click', function() {
                const decodedText = hexToString(selectedHex);
                alert(`${decodedText}`);
                menuItem.remove(); // Remove the menu item after use
            });

            // Remove the menu item when clicking elsewhere
            document.addEventListener('click', function() {
                menuItem.remove();
            }, { once: true });
        }
    });

    function isHexadecimal(str) {
        return /^[0-9A-Fa-f]+$/.test(str);
    }

    function hexToString(hex) {
        let str = '';
        for (let i = 0; i < hex.length; i += 2) {
            str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
        }
        return str;
    }
})();