I expect Print[FromCharacterCode[{97, 0, 97}, "ASCII"]]
output to look the same as Print[FromCharacterCode[{97, 97}, "ASCII"]], but instead it looks like Print[FromCharacterCode[{97, 32, 97}, "ASCII"]].
I see that the "Null space" is being handled differently; FromCharacterCode[{0}, "ASCII"] == FromCharacterCode[{32}, "ASCII"] outputs False. But why would it display anything in the first place?
Non ASCII seems to work as I expect."a"~StringJoin~"\[Null]"~StringJoin~"a" outputs without displaying a separation but still keeping a Null in the middle. BTW I had to type it in backwards to avoid \[Nu]. And it works as I expect with "UTF-8". ex: FromCharacterCode[{97, 97, 239, 142, 160, 97}, "UTF-8"].
I will be switching to UTF-8 but just curious about ASCII.

FromCharacterCode[{0}, "ASCII"] == FromCharacterCode[{0}, "ASCII"]returnsTruefor me for all versions I can try now on my Mac, from v12.2 onwards. Also, the string with character code 0 does visually look like"aa"to me, although I wouldn't expect anything from that visual presentation. What is your Mathematica version and on what platform? – kirma Feb 20 '23 at 04:43FromCharacterCode[{0}, "ASCII"] == FromCharacterCode[{32}, "ASCII"]outputsFalseas expected. – 9Harris Feb 20 '23 at 05:13