AnyBase.Net
1.0.1
dotnet add package AnyBase.Net --version 1.0.1
NuGet\Install-Package AnyBase.Net -Version 1.0.1
<PackageReference Include="AnyBase.Net" Version="1.0.1" />
<PackageVersion Include="AnyBase.Net" Version="1.0.1" />
<PackageReference Include="AnyBase.Net" />
paket add AnyBase.Net --version 1.0.1
#r "nuget: AnyBase.Net, 1.0.1"
#:package AnyBase.Net@1.0.1
#addin nuget:?package=AnyBase.Net&version=1.0.1
#tool nuget:?package=AnyBase.Net&version=1.0.1
Documentazione della classe Base<TBase>
Descrizione
La classe Base<TBase> rappresenta un sistema generico di codifica e decodifica basato su una tipologia specificata di
base. Fornisce funzionalità per codificare e decodificare dati in un sistema numerico definito da un insieme di valori
di tipo TBase.
Parametri Generici
TBase: Il tipo degli elementi della base. Deve implementare le interfacceIComparable,IComparable<T>,IConvertibleeIEquatable<T>.
Proprietà
Identity (
IReadOnlyList<TBase>): Elenco di elementi unici che definiscono l'identità della base utilizzata per le operazioni di codifica e decodifica.Size (
int): Indica la dimensione utilizzata nelle operazioni di codifica e decodifica all'interno del sistema numerico.NumeralSystem (
NumeralSystem): Rappresenta il sistema numerico utilizzato per le operazioni di codifica e decodifica all'interno della classeBase.
Metodi
Pubblici
Encode(byte[] bytes): Codifica un array di byte in un array di
TBase.Encode(string value): Codifica una stringa in un array di
TBase.EncodeToString(byte[] bytes): Codifica un array di byte in una stringa utilizzando il sistema numerico corrente e l'identità specificata.
EncodeToString(string value): Codifica una stringa nel suo formato di rappresentazione codificato.
DecodeToString(string encoded): Decodifica una stringa codificata nella sua rappresentazione originale.
DecodeToString(TBase[] encoded): Decodifica un array di elementi di tipo
TBasein una stringa.DecodeToBytes(TBase[] encoded): Decodifica un array di elementi codificati di base
TBasein un array di byte.
Costruttore
Base(HashSet<TBase> identity): Inizializza una nuova istanza della classeBasecon un'identità specificata. L'identità non può essere nulla o vuota e deve contenere elementi unici.
Note
La classe Base è utile in applicazioni che richiedono la conversione tra vari sistemi numerici, come la
rappresentazione binaria, ottale o esadecimale dei dati. La classe fornisce metodi per assicurare la precisione nella
conversione sia di stringhe che di array di byte in diversi formati di rappresentazione numerica.
Esempio di Utilizzo
Un utilizzo comune della classe Base può essere visto nei test unitari della classe BaseTest, dove la codifica e la
decodifica tra diversi sistemi numerici sono verificate e validate.
Esempio di Implementazione della Codifica Esadecimale
Per implementare la codifica esadecimale con la classe Base, è necessario definire un'istanza della classe Base
utilizzando il set di caratteri che rappresentano i numeri esadecimali:
using System; using System.Collections.Generic; using System.Text;
namespace AnyBase.Example
{
public class HexEncodingExample
{
public static void Main()
{
// Definire l'identità del sistema numerico esadecimale
var identity = new HashSet<char>(
new[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }
);
// Creare un'istanza della classe Base usando il set di caratteri esadecimali
var hexBase = new Base<char>(identity);
// Stringa da codificare
var value = "Esempio di testo";
// Codificare la stringa in esadecimale
var encodedChars = hexBase.Encode(value);
var encodedString = hexBase.EncodeToString(value);
// Visualizzare il testo codificato
Console.WriteLine($"Codificato: {encodedString}");
// Decodificare l'array di caratteri esadecimali
var decodedString = hexBase.DecodeToString(encodedChars);
// Visualizzare il testo decodificato
Console.WriteLine($"Decodificato: {decodedString}");
}
}
}
Descrizione
- Definizione dell'Identità: Creiamo un
HashSet<char>con i caratteri '0-9' e 'A-F' per rappresentare il sistema numerico esadecimale. - Creazione della Classe Base: Inizializziamo una nuova istanza di
Base<char>con l'identità del sistema numerico esadecimale. - Codifica della Stringa: Utilizziamo il metodo
EncodeToStringper convertire la stringa originale in una rappresentazione esadecimale. - Decodifica della Stringa: Utilizziamo il metodo
DecodeToStringper convertire l'output esadecimale nuovamente nella stringa originale.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- NumeralSystems.Net (>= 4.5.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1 | 162 | 12/9/2024 |