On Wed, Feb 08, 2012 at 08:32:32AM -0800, Jonathan M Davis wrote: [...] > Except that char[] is _not_ an array of characters. It's an array of > code units. There is a _big_ difference. Not even dchar[] is an array > of characters. It's both an array of code units and an array of code > points, but not even that quite gets you characters (though at this > point, Phobos pretty much treats a code point as if it were a > character). If you want a character, you need a grapheme (which could > be multiple code points). _That_ is where the problem comes in. > > You can definitely do array operations on strings. In fact, it can be > very desirable to do so if you want to process strings efficiently. > But if you treat them like you would ubyte[], you're in for a heap of > trouble thanks to how unicode works. [...]
Except that the point of my code was to fix byte-order so that they can be correctly interpreted. I suppose I really should be using ubyte[] for that instead, and perhaps use a union to translate it to char[] when I call decode(). T -- Ph.D. = Permanent head Damage