Richard Suchenwirth 2006-04-05 - If you want to know the difference between two (one-byte) encodings, the following codelet may help:
proc encodiff {e1 e2} {
set res ""
for {set i 32} {$i<256} {incr i} {
set c [format %c $i]
if {[encoding convertfrom $e1 $c] ne [encoding convertfrom $e2 $c]} {
append res [format %02X $i] \
[encoding convertfrom $e1 $c] | [encoding convertfrom $e2 $c]\n
}
}
set res
}#-- Testing demo:
% encodiff iso8859-1 cp1252 80 |€ 82 |‚ 83 |ƒ 84 |„ 85 |… 86 |† 87 |‡ 88 |ˆ 89 |‰ 8A |Š 8B |‹ 8C |Œ 8E |Ž 91 |‘ 92 |’ 93 |“ 94 |” 95 |• 96 |– 97 |— 98 |˜ 99 |™ 9A |š 9B |› 9C |œ 9E |ž 9F |Ÿ
Obviously, Windows' cp1252 filled most of the "high control" positions with extra characters, but is otherwise identical to iso8859-1.