Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
UnicodeVersionNumber.cs
1using System.Diagnostics.CodeAnalysis;
2using System.Globalization;
3using System.Text;
5
7{
11 public class UnicodeVersionNumber : DataObject
12 {
17 : base([])
18 {
19 }
20
28 public UnicodeVersionNumber(byte[] Value, int MajorVersion, int MinorVersion,
29 int Release)
30 : base(Value)
31 {
32 this.MajorVersion = MajorVersion;
33 this.MinorVersion = MinorVersion;
34 this.Release = Release;
35 }
36
40 public override ushort Tag => 0x5f36;
41
45 public int MajorVersion { get; }
46
50 public int MinorVersion { get; }
51
55 public int Release { get; }
56
64 public override bool TryParse(byte[] Value, TravelDocumentsClient Client,
65 [NotNullWhen(true)] out IDataObject? Parsed)
66 {
67 if (Value.Length == 6)
68 {
69 string MajorVersion = TrimLeadingZeroes(Encoding.ASCII.GetString(Value, 0, 2));
70 string MinorVersion = TrimLeadingZeroes(Encoding.ASCII.GetString(Value, 2, 2));
71 string ReleaseVersion = TrimLeadingZeroes(Encoding.ASCII.GetString(Value, 4, 2));
72
73 Client.Information("Unicode version: " + MajorVersion + "." + MinorVersion +
74 "." + ReleaseVersion);
75
76 if (int.TryParse(MajorVersion, out int MajorVersionInt) &&
77 int.TryParse(MinorVersion, out int MinorVersionInt) &&
78 int.TryParse(ReleaseVersion, out int ReleaseVersionInt))
79 {
80 Parsed = new UnicodeVersionNumber(Value, MajorVersionInt, MinorVersionInt, ReleaseVersionInt);
81 return true;
82 }
83 }
84 else
85 Client.Warning("Unicode version: " + Hashes.BinaryToString(Value));
86
87 Parsed = null;
88 return false;
89 }
90 }
91}
UnicodeVersionNumber(byte[] Value, int MajorVersion, int MinorVersion, int Release)
Unicode Version Number
override bool TryParse(byte[] Value, TravelDocumentsClient Client, [NotNullWhen(true)] out IDataObject? Parsed)
Tries to parse a binary representation of the data object.
Contains methods for simple hash calculations.
Definition: Hashes.cs:57
static string BinaryToString(byte[] Data)
Converts an array of bytes to a string with their hexadecimal representations (in lower case).
Definition: Hashes.cs:63