private bool IsValidAsciiString(string input) { ASCIIEncoding ascii = new ASCIIEncoding(); Encoding unicode = Encoding.Unicode; byte[] unicodeBytes = unicode.GetBytes(input); byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes); if (ascii.GetString(asciiBytes) != input) return false; foreach (char c in asciiBytes) { if (!char.IsLetterOrDigit(c)) return false; } return true; }