This kind of question has been asked before, but I wanted to make it more specific. The linked question asks to read from stdin and rot13 the input. I don't want the disadvantage of I/O code that differs a lot for each language in length.
The challenge:
Write a function that will ROT13 (wiki link) one char (as defined by the ASCII table).
No built-in ROT13 functionality allowed.
Shortest code wins.
You can use this kind of C-family loop to test your function:
for (int i = '!'; i <= '~'; ++i)
{
char c = (char) i;
System.out.println(c + " -> " + f(c));
}