From fca1aa2c6f66a890014d293aa80b3f0fe209928b Mon Sep 17 00:00:00 2001 From: Johannes Bildstein Date: Thu, 23 Mar 2017 13:36:07 +0100 Subject: [PATCH] use Encoding.GetEndocing("ASCII") instead of Endocing.UTF8 --- src/ImageSharp/MetaData/Profiles/ICC/IccDataReader.cs | 4 ++-- src/ImageSharp/MetaData/Profiles/ICC/IccDataWriter.cs | 7 +++---- .../Profiles/ICC/TagDataEntries/IccDataTagDataEntry.cs | 5 +++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ImageSharp/MetaData/Profiles/ICC/IccDataReader.cs b/src/ImageSharp/MetaData/Profiles/ICC/IccDataReader.cs index 45bb9bd115..83f04c2146 100644 --- a/src/ImageSharp/MetaData/Profiles/ICC/IccDataReader.cs +++ b/src/ImageSharp/MetaData/Profiles/ICC/IccDataReader.cs @@ -17,6 +17,7 @@ namespace ImageSharp internal sealed class IccDataReader { private static readonly bool IsLittleEndian = BitConverter.IsLittleEndian; + private static readonly Encoding AsciiEncoding = Encoding.GetEncoding("ASCII"); /// /// The data that is read @@ -129,8 +130,7 @@ namespace ImageSharp /// The value as a string public string ReadASCIIString(int length) { - // Encoding.ASCII is missing in netstandard1.1, use UTF8 instead because it's compatible with ASCII - string value = Encoding.UTF8.GetString(this.data, this.AddIndex(length), length); + string value = AsciiEncoding.GetString(this.data, this.AddIndex(length), length); // remove data after (potential) null terminator int pos = value.IndexOf('\0'); diff --git a/src/ImageSharp/MetaData/Profiles/ICC/IccDataWriter.cs b/src/ImageSharp/MetaData/Profiles/ICC/IccDataWriter.cs index b394d8213a..e433fbff3e 100644 --- a/src/ImageSharp/MetaData/Profiles/ICC/IccDataWriter.cs +++ b/src/ImageSharp/MetaData/Profiles/ICC/IccDataWriter.cs @@ -16,6 +16,7 @@ namespace ImageSharp internal sealed class IccDataWriter { private static readonly bool IsLittleEndian = BitConverter.IsLittleEndian; + private static readonly Encoding AsciiEncoding = Encoding.GetEncoding("ASCII"); private static readonly double[,] IdentityMatrix = { { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } }; @@ -222,8 +223,7 @@ namespace ImageSharp /// the number of bytes written public int WriteASCIIString(string value) { - // Encoding.ASCII is missing in netstandard1.1, use UTF8 instead because it's compatible with ASCII - byte[] data = Encoding.UTF8.GetBytes(value); + byte[] data = AsciiEncoding.GetBytes(value); this.dataStream.Write(data, 0, data.Length); return data.Length; } @@ -239,8 +239,7 @@ namespace ImageSharp { value = value.Substring(0, Math.Min(length - 1, value.Length)); - // Encoding.ASCII is missing in netstandard1.1, use UTF8 instead because it's compatible with ASCII - byte[] textData = Encoding.UTF8.GetBytes(value); + byte[] textData = AsciiEncoding.GetBytes(value); int actualLength = Math.Min(length - 1, textData.Length); this.dataStream.Write(textData, 0, actualLength); for (int i = 0; i < length - actualLength; i++) diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDataTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDataTagDataEntry.cs index de6c81c9e5..bb757963bd 100644 --- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDataTagDataEntry.cs +++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDataTagDataEntry.cs @@ -14,6 +14,8 @@ namespace ImageSharp /// internal sealed class IccDataTagDataEntry : IccTagDataEntry { + private static readonly Encoding AsciiEncoding = Encoding.GetEncoding("ASCII"); + /// /// Initializes a new instance of the class. /// @@ -67,8 +69,7 @@ namespace ImageSharp { if (this.IsAscii) { - // Encoding.ASCII is missing in netstandard1.1, use UTF8 instead because it's compatible with ASCII - return Encoding.UTF8.GetString(this.Data, 0, this.Data.Length); + return AsciiEncoding.GetString(this.Data, 0, this.Data.Length); } else {