Skip to content

Commit bddaec5

Browse files
committed
replaced System.Text.Encoding.GetString usages to accept ReadOnlyMemory
1 parent 2ef1a2b commit bddaec5

4 files changed

Lines changed: 12 additions & 8 deletions

File tree

Asn1Parser/Universal/Asn1IA5String.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.IO;
33
using System.Linq;
44
using System.Text;
5+
using SysadminsLV.Asn1Parser.Utils.CLRExtensions;
56

67
namespace SysadminsLV.Asn1Parser.Universal;
78

@@ -38,7 +39,7 @@ public Asn1IA5String(Asn1Reader asn) : base(asn, TYPE) {
3839
/// </exception>
3940
public Asn1IA5String(ReadOnlyMemory<Byte> rawData) : this(new Asn1Reader(rawData)) { }
4041
/// <summary>
41-
/// Initializes a new instance of the <strong>Asn1IA5String</strong> class from a unicode string.
42+
/// Initializes a new instance of the <strong>Asn1IA5String</strong> class from a Unicode string.
4243
/// </summary>
4344
/// <param name="inputString">A unicode string to encode.</param>
4445
/// <exception cref="InvalidDataException">
@@ -59,6 +60,6 @@ void m_decode(Asn1Reader asn) {
5960
if (asn.GetPayload().Any(b => b > 127)) {
6061
throw new InvalidDataException(String.Format(InvalidType, TYPE.ToString()));
6162
}
62-
Value = Encoding.ASCII.GetString(asn.GetPayload());
63+
Value = Encoding.ASCII.GetString(asn.GetPayloadAsMemory());
6364
}
6465
}

Asn1Parser/Universal/Asn1NumericString.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.IO;
33
using System.Linq;
44
using System.Text;
5+
using SysadminsLV.Asn1Parser.Utils.CLRExtensions;
56

67
namespace SysadminsLV.Asn1Parser.Universal;
78

@@ -27,7 +28,7 @@ public Asn1NumericString(Asn1Reader asn) : base(asn, TYPE) {
2728
m_decode(asn);
2829
}
2930
/// <summary>
30-
/// Initializes a new instance of <strong>Asn1NumericString</strong> from a ASN.1-encoded memory buffer.
31+
/// Initializes a new instance of <strong>Asn1NumericString</strong> from an ASN.1-encoded memory buffer.
3132
/// </summary>
3233
/// <param name="rawData">ASN.1-encoded memory buffer.</param>
3334
/// <exception cref="Asn1InvalidTagException">
@@ -38,7 +39,7 @@ public Asn1NumericString(Asn1Reader asn) : base(asn, TYPE) {
3839
/// </exception>
3940
public Asn1NumericString(ReadOnlyMemory<Byte> rawData) : this(new Asn1Reader(rawData)) { }
4041
/// <summary>
41-
/// Initializes a new instance of the <strong>Asn1NumericString</strong> class from a unicode string.
42+
/// Initializes a new instance of the <strong>Asn1NumericString</strong> class from a Unicode string.
4243
/// </summary>
4344
/// <param name="inputString">A unicode string to encode.</param>
4445
/// <exception cref="InvalidDataException">
@@ -59,6 +60,6 @@ void m_decode(Asn1Reader asn) {
5960
if (asn.GetPayload().Any(b => b is < 48 or > 57 && b != 32)) {
6061
throw new InvalidDataException(String.Format(InvalidType, TYPE.ToString()));
6162
}
62-
Value = Encoding.ASCII.GetString(asn.GetPayload());
63+
Value = Encoding.ASCII.GetString(asn.GetPayloadAsMemory());
6364
}
6465
}

Asn1Parser/Universal/Asn1PrintableString.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Linq;
55
using System.Text;
66
using SysadminsLV.Asn1Parser.Utils;
7+
using SysadminsLV.Asn1Parser.Utils.CLRExtensions;
78

89
namespace SysadminsLV.Asn1Parser.Universal;
910

@@ -61,7 +62,7 @@ void m_decode(Asn1Reader asn) {
6162
if (!testValue(asn.GetPayload())) {
6263
throw new InvalidDataException(String.Format(InvalidType, TYPE.ToString()));
6364
}
64-
Value = Encoding.ASCII.GetString(asn.GetPayload());
65+
Value = Encoding.ASCII.GetString(asn.GetPayloadAsMemory());
6566
}
6667
static Boolean testValue(String str) {
6768
List<Byte> alphabet = StringUtils.GetAlphabet(TYPE);

Asn1Parser/Universal/Asn1UTF8String.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.IO;
33
using System.Linq;
44
using System.Text;
5+
using SysadminsLV.Asn1Parser.Utils.CLRExtensions;
56

67
namespace SysadminsLV.Asn1Parser.Universal;
78

@@ -38,7 +39,7 @@ public Asn1UTF8String(Asn1Reader asn) : base(asn, TYPE) {
3839
/// </exception>
3940
public Asn1UTF8String(ReadOnlyMemory<Byte> rawData) : this(new Asn1Reader(rawData)) { }
4041
/// <summary>
41-
/// Initializes a new instance of the <strong>Asn1UTF8String</strong> class from a unicode string.
42+
/// Initializes a new instance of the <strong>Asn1UTF8String</strong> class from a Unicode string.
4243
/// </summary>
4344
/// <param name="inputString">A unicode string to encode.</param>
4445
/// <exception cref="InvalidDataException">
@@ -56,7 +57,7 @@ void m_encode(String inputString) {
5657
Initialize(Asn1Utils.EncodeAsReader(Encoding.UTF8.GetBytes(inputString).AsMemory().Span, TYPE));
5758
}
5859
void m_decode(Asn1Reader asn) {
59-
Value = Encoding.UTF8.GetString(asn.GetPayload());
60+
Value = Encoding.UTF8.GetString(asn.GetPayloadAsMemory());
6061
}
6162
static Boolean testValue(String str) {
6263
return str.All(x => Convert.ToUInt32(x) <= 255);

0 commit comments

Comments
 (0)