AnyBase.Net 1.0.1

dotnet add package AnyBase.Net --version 1.0.1
                    
NuGet\Install-Package AnyBase.Net -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AnyBase.Net" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AnyBase.Net" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="AnyBase.Net" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AnyBase.Net --version 1.0.1
                    
#r "nuget: AnyBase.Net, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AnyBase.Net@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AnyBase.Net&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=AnyBase.Net&version=1.0.1
                    
Install as a Cake Tool

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 interfacce IComparable, IComparable<T>, IConvertible e IEquatable<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 classe Base.

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 TBase in una stringa.

  • DecodeToBytes(TBase[] encoded): Decodifica un array di elementi codificati di base TBase in un array di byte.

Costruttore

  • Base(HashSet<TBase> identity): Inizializza una nuova istanza della classe Base con 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

  1. Definizione dell'Identità: Creiamo un HashSet<char> con i caratteri '0-9' e 'A-F' per rappresentare il sistema numerico esadecimale.
  2. Creazione della Classe Base: Inizializziamo una nuova istanza di Base<char> con l'identità del sistema numerico esadecimale.
  3. Codifica della Stringa: Utilizziamo il metodo EncodeToString per convertire la stringa originale in una rappresentazione esadecimale.
  4. Decodifica della Stringa: Utilizziamo il metodo DecodeToString per convertire l'output esadecimale nuovamente nella stringa originale.
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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