A powerful, interactive tool for converting between binary code and text with real-time color highlighting.
- Real-time Bidirectional Conversion: Convert from binary to text or text to binary instantly.
- Color Highlighting: Each binary sequence is color-coded with its corresponding text character, making it easy to see the relationships.
- UTF-8 Support: Properly handles all UTF-8 characters, including multi-byte sequences like emoji.
- Hashtag Preservation: Lines starting with
#are preserved as-is and not encoded/decoded in both directions. - Mixed Content Handling: Non-binary text in the binary field is preserved and passed through to the text field.
- Two Operating Modes:
- Automatic Sync: Changes in either field automatically update the other.
- Manual Conversion: Choose when to convert using dedicated buttons.
- User-Friendly Interface: Clean, responsive design that works on both desktop and mobile.
- Educational tool for teaching binary encoding and character sets
- Debugging binary data streams
- Learning how UTF-8 encoding works with multi-byte characters
- Quick conversion for developers working with binary data
The converter uses JavaScript's TextEncoder and TextDecoder APIs to handle accurate conversions between binary and UTF-8 text. The color highlighting system creates a unique color for each binary pattern and applies that same color to the corresponding character in the text output.
UTF-8 characters can take up to 4 bytes, and the converter intelligently groups related binary sequences that form a single character, ensuring they receive the same color highlight.
-
Clone this repository:
git clone https://github.com/yourusername/binary-text-converter.git
-
Open
index.htmlin any modern browser.
No build process, dependencies, or installation required!
project/
│
├── index.html # Main HTML file
├── styles.css # CSS styling
└── script.js # JavaScript functionality
-
Automatic Mode:
- Type or paste binary code in the top field to see it converted to text
- Type or paste text in the bottom field to see it converted to binary
- Watch as the colors highlight the relationships between binary and text
-
Manual Mode:
- Enter data in either field
- Click the conversion buttons when ready
- Use the "Clear Both" button to start fresh
-
Toggle Highlighting:
- Use the switch in the top right to turn highlighting on or off
- Each unique binary pattern gets its own color
- For multi-byte UTF-8 characters, all binary groups for that character share the same color
- The corresponding text character has the same highlight color as its binary representation
This tool works with all modern browsers that support:
- TextEncoder/TextDecoder APIs
- ES6 JavaScript features
- CSS Grid and Flexbox
Contributions are welcome! Feel free to submit a pull request or create an issue if you have any ideas for improvements.
- This project was created as an educational tool for understanding binary encoding
- Konwersja dwukierunkowa - umożliwia zamianę tekstu na kod binarny i kodu binarnego na tekst w czasie rzeczywistym
- Zachowanie hashtagów - słowa rozpoczynające się od znaku # są zachowywane bez zmian w obu kierunkach konwersji
- Kolorowe podświetlanie - koloruje odpowiadające sobie elementy binarne i znaki tekstowe
- Obsługa UTF-8 - poprawnie obsługuje wielobajtowe znaki, w tym polskie znaki i emoji
-
Identyfikacja hashtagów
- Hashtagi (słowa zaczynające się od #) są identyfikowane i zachowywane bez konwersji
- Hashtagi są wykrywane za pomocą wyrażenia regularnego
/#[^\s]+/g(znak # i wszystkie kolejne znaki do białego znaku)
-
Konwersja tekstu na kod binarny
- Każdy znak tekstu jest konwertowany na jego 8-bitową reprezentację UTF-8
- Wielobajtowe znaki (np. emoji, polskie znaki) są prawidłowo konwertowane na sekwencje 8-bitowych grup
- Każda 8-bitowa grupa jest oddzielona spacją dla czytelności
-
Konwersja kodu binarnego na tekst
- Grupy 8-bitowe są identyfikowane i konwertowane na bajty
- Spacje między kodami binarnymi są ignorowane (służą tylko do separacji i nie są dekodowane do tekstu)
- Tylko spacje, które zostały zakodowane jako "00100000" są widoczne w polu tekstowym
- Sekwencje bajtów są dekodowane na znaki UTF-8
-
Przetwarzanie fragmentów
- Tekst jest analizowany sekcja po sekcji, między hashtagami
- Każda sekcja jest przetwarzana jako całość, co zapewnia poprawne dekodowanie złożonych znaków UTF-8
-
Podświetlanie
- Każda 8-bitowa grupa binarna otrzymuje unikalny kolor
- Odpowiadający jej znak w polu tekstowym otrzymuje ten sam kolor
- Hashtagi są podświetlane na niebiesko w obu polach
-
Spacje w reprezentacji binarnej:
- Spacje pomiędzy kolejnymi kodami binarnymi (np. między "01000001" a "01000010") nie powinny występować w tekście - służą tylko jako separatory wizualne
- Tylko spacje, które zostały faktycznie zakodowane jako "00100000" są odzwierciedlone w polu tekstowym
-
Zachowanie formatowania:
- Znaki nowej linii są zachowywane podczas konwersji
- Zachowana jest dokładna pozycja hashtagów w tekście
-
Obsługa błędów:
- Nieprawidłowe dane binarne są pomijane
- W przypadku błędu dekodowania, oryginalny tekst jest zachowywany
-
Tryby pracy:
- Automatyczna synchronizacja - zmiany w jednym polu automatycznie aktualizują drugie pole
- Tryb ręczny - konwersja odbywa się dopiero po naciśnięciu przycisku
-
Przetwarzanie ciągów binarnych:
- Skrypt identyfikuje ciągi 8-bitowe za pomocą wyrażenia regularnego
/[01]{8}/g - Wszystkie inne znaki między nimi są ignorowane podczas dekodowania
- Spacje między kolejnymi kodami binarnymi służą wyłącznie do czytelności i nie są interpretowane jako dane
- Skrypt identyfikuje ciągi 8-bitowe za pomocą wyrażenia regularnego
-
Wieloetapowe przetwarzanie:
- Najpierw tekst jest dzielony na linie
- Następnie w każdej linii identyfikowane są hashtagi
- Fragmenty między hashtagami są przetwarzane jako bloki binarne lub tekstowe
- Ten podejście "divide and conquer" zapewnia precyzyjne przetwarzanie złożonych struktur
-
Kodowanie UTF-8:
- Używa wbudowanych API przeglądarki:
TextEncoderiTextDecoder - Zapewnia poprawną obsługę wszystkich znaków Unicode, w tym znaków narodowych i emoji
- Znaki wielobajtowe są prawidłowo identyfikowane i przetwarzane jako całość
- Używa wbudowanych API przeglądarki:
-
Edukacja i nauka:
- Zrozumienie podstaw kodowania binarnego
- Nauka jak znaki są reprezentowane w komputerach
- Poznanie formatów kodowania UTF-8 dla różnych zestawów znaków
-
Testowanie komunikacji z AI:
- Tworzenie wiadomości z hashtagami dla modeli AI
- Testowanie rozpoznawania zaszyfrowanych treści przez systemy AI
- Badanie zdolności modeli do interpretacji mieszanych formatów danych
-
Zaawansowana komunikacja:
- Tworzenie wiadomości, których część jest czytelna (hashtagi), a część zaszyfrowana
- Możliwość umieszczania "znaczników" w postaci hashtagów w zaszyfrowanych wiadomościach
- Łatwiejsza identyfikacja kluczowych elementów w zaszyfrowanym tekście
-
Intuicyjny interfejs użytkownika:
- Podświetlanie kolorami ułatwia śledzenie powiązań między kodem binarnym a tekstem
- Przełączniki trybu pozwalają na wybór odpowiedniego sposobu pracy
- Obsługa błędów z jasnymi komunikatami
-
Wysoka precyzja konwersji:
- Dokładne zachowanie struktury danych bez dodatkowych znaków
- Poprawna obsługa skomplikowanych sekwencji UTF-8
- Wierne zachowanie hashtagów
-
Elastyczność:
- Działa z dowolnymi kombinacjami tekstu, kodu binarnego i hashtagów
- Automatycznie dostosowuje się do różnych formatów danych wejściowych
- Możliwość rozszerzenia funkcjonalności w przyszłości
-
Wymagania przeglądarki:
- Wymaga nowoczesnej przeglądarki obsługującej API TextEncoder/TextDecoder
- Najlepiej działa w aktualnych wersjach Chrome, Firefox, Safari i Edge
-
Wydajność:
- Przy bardzo dużych ilościach danych konwersja może zająć więcej czasu
- Podświetlanie kolorami może obciążać przeglądarkę przy ogromnych blokach tekstu
-
Obsługa dodatkowych formatów kodowania:
- Możliwość dodania wsparcia dla innych formatów jak ASCII, Base64, Hex
- Opcja konwersji między różnymi formatami binarnymi
-
Rozszerzone funkcje analizy:
- Statystyki użycia hashtagów
- Wizualizacja struktury danych binarnych
-
Zaawansowane funkcje edycji:
- Edycja tylko wybranych fragmentów kodu
- Historia zmian i możliwość cofania operacji
Ten konwerter stanowi solidne narzędzie do pracy z danymi w formacie binarnym i tekstowym, z szczególnym uwzględnieniem specjalnego traktowania hashtagów i prawidłowej obsługi kodowania znaków.
