Ohne mir den Source genau anzuschauen kann ich dir schon sagen, dass du dir mit so einem Protokoll keinen Gefallen tust, wenn du mal verschiedene Versionen miteinander kompatibel machen willst. Sobald sich irgendwelche Internas ändern (wie zum Beispiel mit
Unicode geschehen, oder wie mit NativeInt unter verschiedenen Systemen geschehen wird) ist es nicht mehr zu gebrauchen, außer du bringst beide Seiten wieder auf einen Stand.