public static string ToPrintableString(this byte[] bytes)
{
StringBuilder dumpBuilder = new StringBuilder();
string byteString = Encoding.UTF8.GetString(bytes);
//https://stackoverflow.com/questions/123336/how-can-you-strip-non-ascii-characters-from-a-string-in-c
//printable range only
//todo: DNS can have unicode values, too! (IDN, for example)
return Regex.Replace(byteString, @"[^\u0020-\u007E]", "."); //display like Wireshark does
}