This is to enable more flexible encoding/decoding of Go string. For Java, we use UTF16 to be compatible with java string. For other languages, we will want other way to represent a string. Change-Id: Iccd53e2eea18d37636c3c619d06cb473facef0cd Reviewed-on: https://go-review.googlesource.com/8628 Reviewed-by: David Crawshaw <crawshaw@golang.org>