Dan Kegel wrote:
Hang on, if you don't check U+3000 in the big endian case, you probably shouldn't check it in the little endian case, either, right?
Well the problem is 0x0030 maps to a regular ASCII space. In order to really check this particular character in byte-reversed form it will probably be necessary to add an independent test that ensures that both the byte-reversed BOM is set AND the 0x0030 character is found.
At the moment, unbreaking VS .NET 2005 seemed more important. It requires further investigation either way.
-Zac