i guess,there is a an extra character under "�" symbol while evaluate and translate that ascii character(s) converts to extd ascii (these are extended chars in ansi (ext ascii chrs.)
/* i assume default encoding is utf-8 */
lets try on ex file
# od -c infile
0000000 < p r o f - a d d r e s s - 1 >
0000020 H 302 232 T T E N S T R A S S E 1
0000040 7 < / p r o f - a d d r e s s -
0000060 1 > \n <
so your shell see its like (302+232),that is to say,some strings(like extd ascii) are represented by multibyte characters..
and some characters (like some control (or extd) chars are non-printable.)
in there, actually,to ascii table below char is..
### � -> 232 (oct) in extendend ascii table
# echo -e "\0232"
-> does not look anychar(s)
actually there is an extra one byte! (i guess this char defines that is a ex chrs)
### lets try for view as utf-8 encoding ( conv 8859-1 to utf-8)
# echo -e "\0232"|iconv -f latin1 -t utf-8
�
and tr command always assumes that one character is represented as one byte.therefore \232 and \302 equals to $((one space + one space))
# echo -e "\0302"
� -> its an extend-A chr where defined in C2 set
finally , if you try like this then output has only a space..(for remove cntrl char with space,,and \232 is already non-printable)