Przejdź do treści stopki
POMOC .NET

ByteSize C# (jak to działa dla programistów)

W dynamicznej i nieustannie ewoluującej dziedzinie tworzenia oprogramowania biegła obsługa danych binarnych na poziomie bajtów jest niezbędnym wymogiem dla czytelnych dla człowieka ciągów znaków i obliczeń na liczbach całkowitych. Package ByteSize, wyjątkowo odporna i wszechstronna biblioteka C#, staje się wpływowym towarzyszem dla programistów dążących do optymalizacji i rozszerzenia swoich operacji skupionych na rozmiarze bajtów przy użyciu metody rozszerzenia. Dzięki szerokiej gamie funkcji i eliminacji niejasności nowe narzędzie ByteSize ułatwia uproszczenie skomplikowanych zadań związanych z obsługą rozmiarów plików bajtowych, czyniąc je nie tylko prostszymi, ale także niezwykle wydajnymi, czytelnymi dla człowieka reprezentacjami ciągów znaków oraz reprezentacjami rozmiarów bajtowych.

W przypadku reprezentacji wielkości w bajtach gigabajty zostaną przeliczone na kilobajty, a bity na megabajty. Chcemy 1,59 MB w KB i 1226311 MB w bitach. Tworzymy struktury ByteSize przy użyciu C# ByteSize Gigabytes. Wartości te są zwracane do bazy danych poprzez wykonanie metody klasy narzędziowej ToString. Używamy również bitów ByteSize i metody ToString jako reprezentacji w MB.

W tym artykule użyjemy biblioteki ByteSize C# wraz z biblioteką IronPDF do reprezentacji ciągów znaków.

1. Odkrywanie potęgi ByteSize

1.1. Magia konwersji bajtów

ByteSize sprawia, że skomplikowany proces konwersji różnych typów danych na tablice bajtów staje się dziecinnie prosty. Programiści mogą teraz płynnie wypełniać lukę między numerycznymi rozmiarami bajtów i wartościami a typami danych nienumerycznych za pomocą zwięzłych i wyrazistych metod z miejscami po przecinku, jak pokazano w poniższym przykładzie.

// Example demonstrating conversion of an integer to a byte array
int number = 42; 
byte[] byteArray = BitConverter.GetBytes(number); // Converts the integer to a byte array
// Example demonstrating conversion of an integer to a byte array
int number = 42; 
byte[] byteArray = BitConverter.GetBytes(number); // Converts the integer to a byte array
' Example demonstrating conversion of an integer to a byte array
Dim number As Integer = 42
Dim byteArray() As Byte = BitConverter.GetBytes(number) ' Converts the integer to a byte array
$vbLabelText   $csharpLabel

1.2. Genialność bitowa

Praca z poszczególnymi bitami w obrębie bajtu to często skomplikowany proces. ByteSize elegancko upraszcza to zadanie, oferując programistom przejrzyste i wyraziste metody operacji bitowych.

// Example to check if a specific bit is set
byte value = 0b00001111; 
bool isBitSet = (value & (1 << 3)) != 0; // Checks if the 4th bit is set
// Example to check if a specific bit is set
byte value = 0b00001111; 
bool isBitSet = (value & (1 << 3)) != 0; // Checks if the 4th bit is set
' Example to check if a specific bit is set
Dim value As Byte = &B00001111
Dim isBitSet As Boolean = (value And (1 << 3)) <> 0 ' Checks if the 4th bit is set
$vbLabelText   $csharpLabel

1.3. Opanowanie endianności

Złożoność formatów endian może prowadzić do subtelnych błędów w kodzie zorientowanym na bajty. ByteSize domyślnie pełni jednak rolę doświadczonego przewodnika, zapewniając obsługę różnych formatów endian. Zapewnia to płynny proces konwersji między różnymi reprezentacjami endian.

// Example of calculating CRC32 for byte data
byte[] data = new byte[] { 0x01, 0x02, 0x03 }; 
uint crc32 = Crc32Algorithm.Compute(data); // Calculates CRC32 checksum
// Example of calculating CRC32 for byte data
byte[] data = new byte[] { 0x01, 0x02, 0x03 }; 
uint crc32 = Crc32Algorithm.Compute(data); // Calculates CRC32 checksum
' Example of calculating CRC32 for byte data
Dim data() As Byte = { &H1, &H2, &H3 }
Dim crc32 As UInteger = Crc32Algorithm.Compute(data) ' Calculates CRC32 checksum
$vbLabelText   $csharpLabel

1.4. Sumy kontrolne i haszowanie w prosty sposób

Zapewnienie integralności i bezpieczeństwa danych ma kluczowe znaczenie. ByteSize upraszcza obliczanie popularnych sum kontrolnych i skrótów, oferując na przykład metody dla powszechnie stosowanych algorytmów, takich jak CRC32 i MD5.

1.5. Opanowanie tablic bajtów

Manipulowanie tablicami bajtów staje się dziecinnie proste dzięki ByteSize. Zapewnia ono usprawnione operacje do dołączania, łączenia i dzielenia tablic bajtów, umożliwiając programistom precyzyjną manipulację danymi binarnymi o podwójnej wielkości.

1.6. Genialność Base64

Kodowanie i dekodowanie ciągów znaków Base64, często kluczowy aspekt przetwarzania danych, odbywa się płynnie. ByteSize zapewnia proste metody i łatwiejszy niż dotychczas kod do konwersji tablic bajtów na ciągi Base64 i odwrotnie.

2. Wykorzystanie ByteSize w Twoim projekcie

Włączenie ByteSize do projektu C# to prosta sprawa

  1. Zainstaluj pakiet ByteSize NuGet:

    Install-Package ByteSize
    Install-Package ByteSize
    SHELL
  2. Wyrusz w przygodę z Byte Adventures:

    using ByteSizeLib; // Example using ByteSizeLib
    int number = 42;
    byte[] byteArray = BitConverter.GetBytes(number); // Converts integer to byte array
    byte value = 0b00001111;
    bool isBitSet = (value & (1 << 3)) != 0; // Checks if the 4th bit is set
    byte[] data = new byte[] { 0x01, 0x02, 0x03 };
    uint crc32 = Crc32Algorithm.Compute(data); // CRC32 checksum calculation
    using ByteSizeLib; // Example using ByteSizeLib
    int number = 42;
    byte[] byteArray = BitConverter.GetBytes(number); // Converts integer to byte array
    byte value = 0b00001111;
    bool isBitSet = (value & (1 << 3)) != 0; // Checks if the 4th bit is set
    byte[] data = new byte[] { 0x01, 0x02, 0x03 };
    uint crc32 = Crc32Algorithm.Compute(data); // CRC32 checksum calculation
    Imports ByteSizeLib ' Example using ByteSizeLib
    Private number As Integer = 42
    Private byteArray() As Byte = BitConverter.GetBytes(number) ' Converts integer to byte array
    Private value As Byte = &B00001111
    Private isBitSet As Boolean = (value And (1 << 3)) <> 0 ' Checks if the 4th bit is set
    Private data() As Byte = { &H1, &H2, &H3 }
    Private crc32 As UInteger = Crc32Algorithm.Compute(data) ' CRC32 checksum calculation
    $vbLabelText   $csharpLabel

Ten fragment kodu w języku C# wykorzystuje bibliotekę ByteSize do operacji na poziomie bajtów. Konwertuje liczbę całkowitą 42 na tablicę bajtów, sprawdza, czy trzeci bit jest ustawiony w bajcie reprezentowanym jako 0b00001111, i oblicza sumę kontrolną CRC32 dla tablicy bajtów { 0x01, 0x02, 0x03 }. Konkretne metody, takie jak BitConverter.GetBytes i operacje bitowe, są standardem w języku C# służącym do wydajnej manipulacji bajtami.

3. Biblioteka IronPDF C

IronPDF to potężna i wszechstronna biblioteka C# zaprojektowana, by zrewolucjonizować sposób, w jaki programiści pracują z plikami PDF w swoich aplikacjach. Niezależnie od tego, czy tworzysz, modyfikujesz czy wyodrębniasz treści z dokumentów PDF, IronPDF zapewnia kompleksowy zestaw narzędzi i funkcji, które usprawniają cały proces. Dzięki intuicyjnemu interfejsowi API i obszernej dokumentacji programiści mogą bez wysiłku zintegrować zaawansowane funkcje obsługi plików PDF ze swoimi aplikacjami napisanymi w języku C#, co pozwala im generować wysokiej jakości pliki PDF, dodawać adnotacje, obsługiwać podpisy cyfrowe i wiele więcej.

Solidne funkcje IronPDF w połączeniu z dążeniem do prostoty i wydajności sprawiają, że jest to idealne rozwiązanie dla programistów pragnących ulepszyć swoje projekty w języku C# dzięki płynnej obsłudze i generowaniu plików PDF. W erze, w której cyfrowe zarządzanie dokumentami ma kluczowe znaczenie, IronPDF staje się nieodzownym narzędziem, oferującym niezrównaną łatwość użytkowania i elastyczność we wszystkich zadaniach związanych z plikami PDF w programowaniu w języku C#.

4. Kroki integracji ByteSize z IronPDF

  1. Zainstaluj IronPDF

    Wystarczy uruchomić poniższe polecenie, aby zainstalować IronPDF.

    Install-Package IronPdf
  2. Wykorzystaj ByteSize do obróbki plików PDF:

    using IronPdf;
    using ByteSizeLib;
    using System;
    using System.IO;
    
    class Program
    {
        static void Main()
        {
            // Create a simple PDF document using IronPDF
            var renderer = new ChromePdfRenderer();
            // Create a PDF from an HTML string using C#
            var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
            // Save the IronPDF document to a file using string filename
            pdf.SaveAs("output.pdf");
    
            // Use ByteSizeLib to get file information
            var fileInfo = new FileInfo("output.pdf");
            var fileSize = fileInfo.Length;
            ByteSize bs = ByteSize.FromBytes(fileSize);
    
            // Print information about the file size
            Console.WriteLine($"File Size: {bs}");
            Console.WriteLine($"File Size in KB: {bs.Kilobytes}");
            Console.WriteLine($"File Size in KiB: {bs.KibiBytes}");
            Console.WriteLine($"File Size in Bytes: {bs.Bytes}");
            Console.WriteLine($"File Size in bits: {bs.Bits}");
        }
    }
    using IronPdf;
    using ByteSizeLib;
    using System;
    using System.IO;
    
    class Program
    {
        static void Main()
        {
            // Create a simple PDF document using IronPDF
            var renderer = new ChromePdfRenderer();
            // Create a PDF from an HTML string using C#
            var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
            // Save the IronPDF document to a file using string filename
            pdf.SaveAs("output.pdf");
    
            // Use ByteSizeLib to get file information
            var fileInfo = new FileInfo("output.pdf");
            var fileSize = fileInfo.Length;
            ByteSize bs = ByteSize.FromBytes(fileSize);
    
            // Print information about the file size
            Console.WriteLine($"File Size: {bs}");
            Console.WriteLine($"File Size in KB: {bs.Kilobytes}");
            Console.WriteLine($"File Size in KiB: {bs.KibiBytes}");
            Console.WriteLine($"File Size in Bytes: {bs.Bytes}");
            Console.WriteLine($"File Size in bits: {bs.Bits}");
        }
    }
    Imports IronPdf
    Imports ByteSizeLib
    Imports System
    Imports System.IO
    
    Friend Class Program
    	Shared Sub Main()
    		' Create a simple PDF document using IronPDF
    		Dim renderer = New ChromePdfRenderer()
    		' Create a PDF from an HTML string using C#
    		Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
    		' Save the IronPDF document to a file using string filename
    		pdf.SaveAs("output.pdf")
    
    		' Use ByteSizeLib to get file information
    		Dim fileInfo As New FileInfo("output.pdf")
    		Dim fileSize = fileInfo.Length
    		Dim bs As ByteSize = ByteSize.FromBytes(fileSize)
    
    		' Print information about the file size
    		Console.WriteLine($"File Size: {bs}")
    		Console.WriteLine($"File Size in KB: {bs.Kilobytes}")
    		Console.WriteLine($"File Size in KiB: {bs.KibiBytes}")
    		Console.WriteLine($"File Size in Bytes: {bs.Bytes}")
    		Console.WriteLine($"File Size in bits: {bs.Bits}")
    	End Sub
    End Class
    $vbLabelText   $csharpLabel

Ten program w języku C# wykorzystuje bibliotekę IronPDF do tworzenia podstawowego dokumentu PDF przy użyciu ChromePdfRenderer. The content of the PDF is generated from an HTML string ("<h1>Hello World</h1>"). Wynikowy plik PDF jest następnie zapisywany pod nazwą "output.PDF". Biblioteka ByteSizeLib służy do uzyskania informacji o rozmiarze wygenerowanego pliku PDF, a różne jednostki miary, takie jak kilobajty, kibibajty, bajty i bity, są wyświetlane w konsoli w celach informacyjnych. Ogólnie rzecz biorąc, kod pokazuje integrację IronPDF do generowania plików PDF oraz ByteSizeLib do wygodnego przedstawiania rozmiaru plików.

ByteSize C# (Jak to działa dla programistów) Rysunek 1 – Wynik

5. Podsumowanie

Integracja bibliotek ByteSize i IronPDF w języku C# zapewnia programistom potężny zestaw narzędzi do wydajnych operacji na poziomie bajtów oraz płynnego generowania i edycji plików PDF. ByteSize oferuje bogactwo funkcji, w tym metodę rozszerzenia long-byte do upraszczania zadań, takich jak konwersja bajtów, operacje bitowe, obsługa endianności, sumy kontrolne i manipulacje tablicami bajtów. Ułatwia również integrację wartości podwójnej w celu precyzyjnego przedstawienia danych liczbowych. Z kolei IronPDF jawi się jako solidne rozwiązanie do obsługi plików PDF w języku C#, zapewniające intuicyjny interfejs API do łatwego tworzenia i edycji dokumentów PDF.

Podany kod w języku C# ilustruje tę integrację poprzez wykorzystanie biblioteki IronPDF do generowania dokumentu PDF oraz biblioteki ByteSize do pobierania i wyświetlania informacji o rozmiarze pliku w różnych formatach. To połączenie pokazuje elastyczność i synergię tych bibliotek, czyniąc je cennymi zasobami dla programistów poszukujących wydajnych i kompleksowych rozwiązań w swoich projektach C#. Niezależnie od tego, czy chodzi o zarządzanie danymi binarnymi, czy obsługę dokumentów PDF, metoda rozszerzenia long firmy ByteSize oraz IronPDF wspólnie przyczyniają się do usprawnienia i zwiększenia efektywności pracy programistów.

IronPDF oferuje bezpłatną licencję próbną, która stanowi doskonałą okazję dla użytkowników do zapoznania się z jego funkcjonalnością. Samouczek dotyczący konwersji HTML do PDF przy użyciu IronPDF można znaleźć w naszym samouczku HTML do PDF.

Często Zadawane Pytania

Jak mogę przekonwertować HTML na PDF w języku C#?

Możesz użyć metody RenderHtmlAsPdf biblioteki IronPDF do konwersji ciągów HTML na pliki PDF. Możesz również konwertować pliki HTML na pliki PDF za pomocą metody RenderHtmlFileAsPdf.

Czym jest ByteSize C# i jakie korzyści daje programistom?

ByteSize to wszechstronna biblioteka C# zaprojektowana w celu uproszczenia operacji związanych z rozmiarem bajtów, umożliwiająca programistom wydajne wykonywanie konwersji i manipulacji danymi binarnymi.

W jaki sposób można zintegrować ByteSize z funkcjami przetwarzania plików PDF w języku C#?

ByteSize może być używane z IronPDF do obsługi reprezentacji rozmiaru plików PDF utworzonych lub modyfikowanych za pomocą IronPDF, umożliwiając wydajne operacje na poziomie bajtów i obliczenia rozmiaru plików.

Jakie funkcje oferuje ByteSize do obsługi danych binarnych?

ByteSize oferuje funkcje konwersji bajtów, operacji bitowych, obsługi różnych formatów endian, obliczania sum kontrolnych, manipulowania tablicami bajtów oraz kodowania/dekodowania Base64.

Jak zainstalować ByteSize w projekcie C#?

Aby zintegrować ByteSize, zainstaluj pakiet ByteSize NuGet za pomocą polecenia Install-Package ByteSize i użyj jego biblioteki do wykonywania operacji na poziomie bajtów w swoim projekcie.

Jak mogę edytować i tworzyć pliki PDF w języku C#?

IronPDF to potężna biblioteka C# do tworzenia, edycji i wyodrębniania treści z dokumentów PDF, oferująca intuicyjny interfejs API i rozbudowane funkcje dla programistów.

Czy ByteSize obsługuje różne formaty endian w języku C#?

Tak, ByteSize zapewnia obsługę różnych formatów endian, gwarantując płynne procesy konwersji między różnymi reprezentacjami endian.

Jakie są przykłady operacji na bajtach, które może wykonywać ByteSize?

ByteSize może konwertować liczby całkowite na tablice bajtów, sprawdzać określone bity, obliczać sumy kontrolne CRC32 oraz wykonywać kodowanie/dekodowanie Base64, a także inne operacje na bajtach.

Czy dostępna jest wersja próbna bibliotek do obróbki plików PDF?

Tak, IronPDF oferuje bezpłatną licencję próbną, dającą użytkownikom możliwość zapoznania się z jego funkcjonalnością przed podjęciem decyzji o zakupie.

W jaki sposób ByteSize upraszcza złożone zadania związane z obsługą rozmiarów plików bajtowych?

ByteSize upraszcza złożone zadania związane z obsługą rozmiarów plików w bajtach, udostępniając metody konwersji rozmiarów plików do formatów czytelnych dla człowieka oraz umożliwiając wydajną manipulację rozmiarami w bajtach.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczą...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie