Java's modified UTF-8 converter to regular UTF-8 in Go. It takes bytes produced by DataOutputStream.writeUTF(). It works fine with surrogate pairs and null characters.