Improve perf of byte->hexstring parse

just use a stringbuilder
This commit is contained in:
Kurt 2021-05-10 16:07:25 -07:00
parent d340642b09
commit ef4857fa9f
2 changed files with 7 additions and 2 deletions

View File

@ -136,8 +136,10 @@ public static byte[] GetBytesFromHexString(string seed)
public static string GetHexStringFromBytes(byte[] data, int offset, int length)
{
data = data.Slice(offset, length);
Array.Reverse(data);
return BitConverter.ToString(data).Replace("-", string.Empty);
var sb = new StringBuilder(data.Length * 2);
for (int i = data.Length - 1; i >= 0; i--)
sb.AppendFormat("{0:x2}", data[i]);
return sb.ToString();
}
private static bool IsNum(char c) => (uint)(c - '0') <= 9;

View File

@ -43,6 +43,9 @@ public void CheckConvertHexString(string v, uint result)
var convert = Core.Util.GetBytesFromHexString(v);
var u32 = BitConverter.ToUInt32(convert);
u32.Should().Be(result);
var remake = Core.Util.GetHexStringFromBytes(convert, 0, convert.Length);
remake.Should().Be(v);
}
}
}