UDBF.NET
2.2.3
dotnet add package UDBF.NET --version 2.2.3
NuGet\Install-Package UDBF.NET -Version 2.2.3
<PackageReference Include="UDBF.NET" Version="2.2.3" />
paket add UDBF.NET --version 2.2.3
#r "nuget: UDBF.NET, 2.2.3"
// Install UDBF.NET as a Cake Addin #addin nuget:?package=UDBF.NET&version=2.2.3 // Install UDBF.NET as a Cake Tool #tool nuget:?package=UDBF.NET&version=2.2.3
UDBF.NET
UDBF.NET is a .NET Standard library that provides a reader for Gantner files stored in the UDBF (Universal Data-Bin-File) format (.dat).
Since no official specification exists, errors may occur. Please file an issue if you encounter problems.
The following code shows how to use read all data from a file:
var filePath = "testdata.dat";
using (var udbf = new UDBFFile(filePath))
{
Console.WriteLine($"File '{filePath}' contains {udbf.Variables.Count} variables.");
(var timestamps, var dataset) = udbf.ReadAll();
Console.WriteLine($"The value of the first timestamp is '{timestamps[0].ToString()}'");
foreach (var data in dataset)
{
Console.WriteLine($"Variable '{data.Variable.Name}' is of type {data.Variable.DataType}.");
Console.WriteLine($" The first value is {data.Buffer[0]}.");
}
}
And here is a version to read only a specific variable:
var filePath = "testdata.dat";
using (var udbf = new UDBF(filePath))
{
Console.WriteLine($"File '{filePath}' contains {udbf.Variables.Count} variables.");
var variable = udbf.Variables[0];
(var timestamps, var data) = udbf.Read<float>(variable);
Console.WriteLine($"Variable '{data.Variable.Name}' is of type {data.Variable.DataType}.");
Console.WriteLine($" The first value is {data.Buffer[0]}.");
}
If you prefer working with raw buffers (byte[]
) instead, just pass byte
as generic parameter into the read method:
(var timestamps, var data) = udbf.Read<byte>(variable);
See also
Without an official format specification, this implementation is based on http://www.famosforum.de/index.php?attachment/508-udbf-107-pdf/.
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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. 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.0
- System.Memory (>= 4.5.4)
- System.Text.Encoding.CodePages (>= 5.0.0)
-
.NETStandard 2.1
- System.Text.Encoding.CodePages (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.