Vor Kurzem kam in einer Mailingliste die Frage auf, wie man einen beliebigen Text in dessen entsprechende ASCII-Werte umwandeln kann.
Hier eine Funktion in VBScript, die ich vor ein paar Jahren dazu geschrieben habe:
Function MailCrypt(strMail)
Dim a, x, i
x = Len(strMail)
For i = 1 To x
a = a & "&#" & Asc(Mid(strMail,i,1)) & ";"
Next
MailCrypt = a
End Function
Und hier das C#-Pendant:
public static string EncodeToAscii(string input)
{
StringBuilder output = new StringBuilder(string.Empty);
if (!string.IsNullOrEmpty(input))
{
for (int i = 0; i < input.Length; i++)
output.AppendFormat("&#{0};",
Encoding.ASCII.GetBytes(input.Substring(i, 1))[0]);
}
return output.ToString();
}
Das Ganze hat sich im Übrigen als sehr erfolgreiches Mittel gegen Spam-Bots bewährt, auch wenn man es kaum glauben mag, weil es zu simpel erscheint. Aber ich habe es seit mehreren Jahren auf einigen hoch frequentierten Seiten im Einsatz, und ein angenehm geringes Spamaufkommen auf die dort so veröffentlichten Mailadressen.