Base128 – koduje i dekoduje plik tekstowy na standardowym wejściu i standardowym wyjściu.

Proste i wydajne narzędzie do kodowania oraz dekodowania plików tekstowych.

Opis

Base128 to prosty algorytm kodowania przeznaczony głównie do kodowania i dekodowania danych tekstowych.

W przeciwieństwie do tradycyjnego Base128, używanego do kodowania danych binarnych na tekst, ta implementacja koncentruje się na konwersji tekstu na ciąg liczb całkowitych (z zakresu 0–127) i odwrotnie.

Nie jest on przeznaczony do kodowania danych binarnych ani do zapewniania bezpieczeństwa.

Program ten zawiera dwie główne funkcje:

Program obsługuje flagi wiersza poleceń, aby umożliwić użytkownikowi wybór między kodowaniem a dekodowaniem, a także wyświetlić pomoc, wersję i informacje o prawach autorskich. Może odczytywać dane wejściowe z pliku lub standardowego wejścia i wyprowadzać wynik na standardowe wyjście.

Zaletą tego algorytmu jest jego prostota i łatwość implementacji.
Ta implementacja nie nadaje się do danych binarnych i nie zapewnia kompresji ani szyfrowania.

Zastosowanie

Ograniczenia

  1. Obsługa tylko tekstu – program jest przeznaczony do pracy z danymi tekstowymi i nie obsługuje danych binarnych. Próba zakodowania lub zdekodowania danych binarnych może spowodować błędy lub nieprawidłowe dane wyjściowe.
  2. Brak kompresji i zabezpieczeń – algorytm nie kompresuje danych ani nie zapewnia szyfrowania. Po prostu konwertuje tekst na ciąg liczb całkowitych i odwrotnie.
  3. Ograniczony zakres znaków – algorytm działa ze znakami z zakresu 0–127 (ASCII), co oznacza, że nie obsługuje rozszerzonych zestawów znaków ani danych binarnych.

Nazwa

base128 – koduje i dekoduje plik tekstowy na standardowym wejściu i standardowym wyjściu

Streszczenie

base128 [ -e lub -d ]
   [ opcje ] [ plik wejściowy ] > [ plik wyjściowy ]
   [ przykład kodowania: ] base128 -e [ kodowany_tekst.txt ] > [ dekodowany_tekst.txt ]
   [ przykład dekodowania: ] base128 -d [ kodowany_tekst.txt ] > [ kodowany_tekst2.txt ]

base128 to narzędzie wiersza poleceń, które koduje i dekoduje pliki tekstowe, np. *.txt, *.svg, *.html

Opcje

-e, --encode
Konwertuje kodowanie Base128 dla danych wejściowych, jako plik tekstowy na wyjściu.
-d, --decode
Odzyskuje oryginalny plik wejściowy poprzez dekodowanie informacji zakodowanych wcześniej przy użyciu algorytmu Base128.
-h, --help
Instrukcja wywołania pomocy wraz z listą dostępnych opcji.
--version
Wersja programu.
--copyright
Informacje o prawach autorskich.

Działanie

Kodowanie

Program konwertuje na liczby tylko znaki drukowalne (kody 32–126). Znaki niedrukowalne są ignorowane.

Dekodowanie

Program konwertuje na znaki tylko liczby z zakresu 0–127. Nieprawidłowe liczby są ignorowane.

Obsługa błędów

Program wyświetla komunikaty o błędach, jeśli dane wejściowe są nieprawidłowe, ale przy tym nie kończy działania.

Przykład użycia (Golang)
$ echo "Hello, World!" | go run base128.go -e
Wynik
72 101 108 108 111 44 32 87 111 114 108 100 33
Dekodowanie (Golang)
$ echo "72 101 108 108 111 44 32 87 111 114 108 100 33" | go run base128.go -d
Wynik
Hello, World!
Nieprawidłowe dane (Golang)
$ echo "72 200 108" | go run base128.go -d
Wynik
base128: nieprawidłowy kod zignorowano: 200
 

Co zostało ulepszone?

Podsumowanie

Algorytm Base128, zaimplementowany w tym programie, to proste i skuteczne narzędzie do kodowania i dekodowania danych tekstowych. Przekształca on tekst w ciąg liczb całkowitych i odwrotnie, co czyni go użytecznym w niektórych zadaniach. Nie nadaje się jednak do przetwarzania danych binarnych, kompresji ani bezpiecznej transmisji danych.

Program jest łatwy w użyciu, z interfejsem wiersza poleceń (CLI) i obsługą odczytu danych z plików. Idealnie nadaje się do celów edukacyjnych lub w sytuacjach, w których dane tekstowe muszą być reprezentowane w formacie numerycznym.

Pobierz

Autor

Łukasz Wójcik
Wersja 1.0 – 16 lipca 2023 r.
Wersja 2.0 – 2 marca 2025 r.
Wersja 2.1 – 13 września 2026 r.
Najnowsza wersja jest dostępna pod adresem:
https://www.base128.pl

base128 to projekt typu open source na licencji MIT