Encode &, <, >, and non-ASCII characters into named or numeric HTML entities. Round-trip decoder too.