3 msΒ·
Sorry, my mistake. I was saving a file from textmate with the string "ππππ" in it and then opening with "open -a textedit eg.txt". The same experiment wit
by dunham 14y ago
Sorry, my mistake. I was saving a file from textmate with the string "ππππ" in it and then opening with "open -a textedit eg.txt".
The same experiment with cat in place of textmate works fine, so it's textmate that is buggy.
According to "od -x1", textmate is writing:
0000000 ed a0 b5 ed b6 99 ed a0 b5 ed b6 8a ed a0 b5 ed
0000020 b6 98 ed a0 b5 ed b6 99
So textedit is right to complain.
- lambda 14y agoYeah, looks like Textmate is simply running the UTF-8 algorithm over UTF-16 code units, so each surrogate is being turned into a single UTF-8 code unit (which decodes to an invalid character). It turns out that this is such a common mistake that there's even a name for this encoding, CESU-8: http://en.wikipedia.org/wiki/CESU-8 http://en.wikipedia.org/wiki/CESU-8