base-encoding: Eine schnellere Alternative zur base64-Codierung und bietet die fehlende Basis-Codierung für die nginx-module-lua-Anwendung
Installation
Wenn Sie das RPM-Repository-Abonnement noch nicht eingerichtet haben, melden Sie sich an. Dann können Sie mit den folgenden Schritten fortfahren.
CentOS/RHEL 7 oder Amazon Linux 2
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install lua-resty-base-encoding
CentOS/RHEL 8+, Fedora Linux, Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install lua5.1-resty-base-encoding
Um diese Lua-Bibliothek mit NGINX zu verwenden, stellen Sie sicher, dass nginx-module-lua installiert ist.
Dieses Dokument beschreibt lua-resty-base-encoding v1.3.0, das am 21. Juli 2018 veröffentlicht wurde.
encode_base2
syntax: encoded = encode_base2(raw)
Kodiert den angegebenen String in das base2-Format (auch bekannt als bin-Format). Beachten Sie, dass die Eingabe ein String ist. Daher ist das Ergebnis von encode_base2 für 1 00110001, da der ASCII-Wert von 1 49 ist und das binäre Format von 49 00110001 ist. Und vergessen Sie nicht, dass die Ausgabe von encode_base2 ein String und keine binäre Zahl ist.
decode_base2
syntax: raw, err = decode_base2(encoded)
Dekodiert den String im base2-Format in seinen Rohwert. Wenn der angegebene String nicht gültig base2-codiert ist, wird raw nil sein und err wird "invalid input" sein. Jedes Zeichen im Eingabestring, das nicht 1 ist, wird als 0 betrachtet. Zum Beispiel ist aa11aaa1 gleich 00110001. Es gibt kein RFC, das vorschreibt, dass wir Zeichen, die nicht 0 und 1 sind, als ungültige Eingabe behandeln sollten, und die Überprüfung, ob ein Zeichen '0' ist oder nicht, würde die Leistung um 50 % verringern.
encode_base16
syntax: encoded = encode_base16(raw[, out_in_lowercase])
Kodiert den angegebenen String in das base16-Format (auch bekannt als hex/hexadezimal-Format). Diese Methode kann in anderen Sprachen to_hex oder encodeHex genannt werden. Die Standardausgabezeichen sind in [0-9A-F]. Wenn Sie out_in_lowercase auf true setzen, wird die Ausgabe in [0-9a-f] sein.
decode_base16
syntax: raw, err = decode_base16(encoded)
Dekodiert den String im base16-Format (auch bekannt als hex/hexadezimal-Format) in seinen Rohwert. Diese Methode kann in anderen Sprachen from_hex oder decodeHex genannt werden. Wenn der angegebene String nicht gültig base16-codiert ist, wird raw nil sein und err wird "invalid input" sein. Zeichen in [0-9a-fA-F] werden als gültig betrachtet.
encode_base32
syntax: encoded = encode_base32(raw[, no_padding])
Kodiert den angegebenen String in das base32-Format mit/ohne Padding '='. Der Standardwert von no_padding ist false.
decode_base32
syntax: raw, err = decode_base32(encoded)
Dekodiert den String im base32-Format in seinen Rohwert. Wenn der angegebene String nicht gültig base32-codiert ist, wird raw nil sein und err wird "invalid input" sein.
encode_base32hex
syntax: encoded = encode_base32hex(raw[, no_padding])
Kodiert den angegebenen String in das base32hex-Format mit/ohne Padding '='. Der Standardwert von no_padding ist false. Für weitere Informationen zum base32hex-Format siehe https://tools.ietf.org/html/rfc4648#section-7.
decode_base32hex
syntax: raw, err = decode_base32(encoded)
Dekodiert den String im base32hex-Format in seinen Rohwert. Wenn der angegebene String nicht gültig base32hex-codiert ist, wird raw nil sein und err wird "invalid input" sein. Für weitere Informationen zum base32hex-Format siehe https://tools.ietf.org/html/rfc4648#section-7.
encode_base64
decode_base64
encode_base64url
decode_base64url
Drop-in-Alternative zur offiziellen Implementierung in lua-resty-core. Lesen Sie stattdessen deren offizielle Dokumentation. Die Kodierungsmethode ist 40 % schneller, und die Dekodierungsmethode ist 200 % schneller. Beachten Sie, dass die Implementierung endianness- und architekturabhängig ist. Lesen Sie den Abschnitt 'Must Read' für weitere Informationen.
encode_base85
syntax: encoded = encode_base85(raw)
Kodiert den angegebenen String in das base85-Format mit/ohne Padding '='. Beachten Sie, dass es keinen Standard, sondern zu viele Varianten des sogenannten base85 gibt. Die Implementierung dieses Moduls sollte mit dem Go's encoding/ascii85-Modul kompatibel sein (nicht auf der Ebene der API-Argumente, sondern auf der Ebene der Kodierungs-/Dekodierungsregeln).
decode_base85
syntax: raw, err = decode_base85(encoded)
Dekodiert den String im base85-Format in seinen Rohwert. Wenn der angegebene String nicht gültig base85-codiert ist, wird raw nil sein und err wird "invalid input" sein.
GitHub
Sie finden möglicherweise zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub-Repository für nginx-module-base-encoding.