您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically translates binary code to text on web pages without adding extra spaces between letters.
- // ==UserScript==
- // @name Binary to Text Translator
- // @namespace http://tampermonkey.net/
- // @version 1.1
- // @description Automatically translates binary code to text on web pages without adding extra spaces between letters.
- // @author ChatGpt4mini
- // @match *://*/*
- // @match *http://reddit.com/*
- // @grant none
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- // Function to convert binary string to text
- function binaryToText(binary) {
- // Remove any extra spaces and split binary into 8-bit chunks
- return binary.replace(/\s+/g, '').match(/.{1,8}/g)
- .map(bin => String.fromCharCode(parseInt(bin, 2)))
- .join('');
- }
- // Function to find and translate binary text
- function translateBinary() {
- const textNodes = [];
- // Function to traverse DOM and get text nodes
- function getTextNodes(node) {
- if (node.nodeType === Node.TEXT_NODE) {
- if (node.nodeValue.trim()) {
- textNodes.push(node);
- }
- } else {
- node.childNodes.forEach(getTextNodes);
- }
- }
- // Get all text nodes in the document
- getTextNodes(document.body);
- // Iterate through each text node and replace binary with translated text
- textNodes.forEach(node => {
- const regex = /\b(?:[01]{8}(?:\s)?)+\b/g; // Matches sequences of 8-bit binary numbers
- const originalText = node.nodeValue;
- const translatedText = originalText.replace(regex, match => binaryToText(match));
- if (originalText !== translatedText) {
- node.nodeValue = translatedText;
- }
- });
- }
- // Run the translation function
- translateBinary();
- // Observe changes in the body for dynamically added content
- const observer = new MutationObserver(translateBinary);
- observer.observe(document.body, { childList: true, subtree: true });
- })();