StringComparator incompatible read/write

The StringComparator uses a mixture of static and non-static read/write methods which are not compatible with each other due to different offsets.

This PR makes sure that it only uses the static methods (similar to the StringSerializer).

this fixes the issue mentioned in #748 .