lynMarkdigRenderTest5 1.0.0

dotnet add package lynMarkdigRenderTest5 --version 1.0.0                
NuGet\Install-Package lynMarkdigRenderTest5 -Version 1.0.0                
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="lynMarkdigRenderTest5" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add lynMarkdigRenderTest5 --version 1.0.0                
#r "nuget: lynMarkdigRenderTest5, 1.0.0"                
#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.
// Install lynMarkdigRenderTest5 as a Cake Addin
#addin nuget:?package=lynMarkdigRenderTest5&version=1.0.0

// Install lynMarkdigRenderTest5 as a Cake Tool
#tool nuget:?package=lynMarkdigRenderTest5&version=1.0.0                

Binary Helper

Класс BinaryConverter из пакета BinaryHelper предназначен для конвертации значений полей/свойств классов в массив байт и обратно из массива байт в значения полей/свойств.

Примеры использования

Предположим, у нас есть класс Test:

class Test
{
[Binary]
public int a;

[Binary]
public byte B { get; set; }

[Binary(Count = 10)]
public string C { get; set; } = "Тест";
}

Кодирование в массив байтов

Test test = new Test() {a = 5, B = 1};
byte[] result = BinaryConverter.ToBytes(test);

Данный пример преобразует значения полей из экземпляра класса test в массив байтов, в результате чего в переменной result будет содержаться массив

[0x05, 0x00, 0x00, 0x00, 0x01, 0xd0, 0xa2, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82, 0x20, 0x20]

Первые байты 0x05, 0x00, 0x00, 0x00 соответствуют значению a = 5, байт 0x01 соответствует B = 1, байты 0xd0, 0xa2, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82 соответствуют строке C = "Тест", назначенной в классе по умолчанию. Последние 2 байта 0x20, 0x20 соответствуют двум символам пробела, чтобы длина последовательности составила 10 байт, так как в атрибуте для поля C явно задана длина 10:

[Binary(Count = 10)]
public string C { get; set; } = "Тест";

В случае, если длина массива байтов, полученных из строки, будет превышать 10, лишние байты будут отсечены. Это может привести к тому, что, например, в кодировке UTF8 последний символ при обратном декодировании может оказаться "битым".

Декодирование в класс из массива байтов

Данный пример преобразует массив байт, хранящийся в переменной data, в значения полей и свойств класса Test, создав его экземпляр в переменной test.

byte[] data = new byte[] {0x05, 0x00, 0x00, 0x00, 0x01, 0xd0, 0xa2, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82, 0x20, 0x20};
Test result = BinaryConverter.FromBytes<Test>(data);

Данный пример преобразует из массива байт в класс Test , в результате чего в переменной result будет содержаться класс Test

result.a == 5
result.B == 1
result.C == "Тест"
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETStandard 2.0

    • No dependencies.

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.0 0 11/24/2020