The problem with Unicode is severe since it doesn't reproduce consistently.
[marco@stallion src]$ ./egel
>> "asfdas" "asfdas" >> "hello world!" "l" >> "!" "!" >> "h!" "h!" >> "hello world!" "ɕ"
I am simply not a Unicode expert. Of course, the code looks right -just a number of conversions- but I simply don't know what goes wrong here.
Then there is the floating point handling.
[marco@stallion src]$ ./egel >> using System >> 131.153535 131.154 >> 0.12341424 / 132414412.0 9.3203e-10
Somehow the float conversion doesn't seem to produce a 64bit representation. Or, it looks like it has an internal 64 bit representation but the conversion from and to a double seems to assume less precision. At least, this bug produces consistent behavior. Guess I am stuck for a few days. For the Unicode bug I might need an expert, though.