TextEncoder


Hier kannst du Texte mit gängigen Verfahren kodieren oder in Klartext umwandeln.





Für Konvertierung von japanischen Rōmaji, Hiragana und Katakana siehe TextEncoder Japanisch.

Die JavaScript Implementierungen der verschiedenen Algorithmen im TextEncoder stammen von phpjs.org.

Textkodierung in Perl

Base64

MIME::Base64 ist ein Core Modul jeder Perl Installation.

use MIME::Base64;
$encoded = encode_base64('text');  # => TW909nJoZWFk
$decoded = decode_base64($encoded);

Hexadezimal

Die Funktion ord() wandelt ein Zeichen in die entsprechende ASCII/Unicode Zahl um. Mit sprintf() kann diese leicht in Hexadezimal umgewandelt werden.
Für die Dekodierung müssen die Werte mit hex() in eine Zahl und anschließend mit chr() in ein Zeichen umgewandelt werden.

$text = 'Motörhead';
$encoded = ($text =~ s/(.)/sprintf("%X",ord($1))/eg);  # => 4D6F74F67268656164
$decoded = ($encoded =~ s/([a-fA-F0-9][a-fA-F0-9])/chr(hex($1))/eg);

HTML Entities

Das Modul HTML::Entities gibt es auf CPAN.

use HTML::Entities;
$encoded = encode_entities('Motörhead');  # => Motörhead
$decoded = decode_entities($encoded);

URL encode

Mit URI::Escape können URL Parameter kodiert werden. Um eine ganze URL in application/x-www-form-urlencoded Format zu kodieren, sollte URL::Encode verwendet werden.

use URI::Escape;
$encoded = uri_escape('Motörhead');  # => Mot%C3%B6rhead
$decoded = uri_unescape($encoded);
use URL::Encode;
$encoded = url_encode('http://www.perlmania.de/?query=Motörhead');
$decoded = url_decode($encoded);

UUEncode

Das Modul Convert::UU gibt es auf CPAN.

use Convert::UU;
$encoded = uuencode('Motörhead');  # => )36]T]G)H96%D`
$decoded = uudecode($encoded);

Quoted-printable

Das Modul MIME::QuotedPrint::Perl gibt es auf CPAN.

use MIME::QuotedPrint::Perl;
$encoded = encode_qp('Motörhead');  # => Mot=F6rhead
$decoded = decode_qp($encoded);

ROT13

Die simple ROT13 (Caesar) Verschlüsselung lässt sich in Perl auf unterschiedliche Weise implementieren. Eines der kürzesten Skripte dafür ist folgendes:

#!perl -p
y/N-ZA-z/A-za-m/

Oder über die Kommandozeile:

perl -pe 'tr/A-Za-z/N-ZA-Mn-za-m/' < input_file > output_file