Hilaire, You should use a character encoder, for example like this: | packet | packet := ByteArray streamContents: [:str | str nextPut: 16r02; "TOSERVER_INIT" nextPut: 28; "SER_FMT_VER_HIGHEST_READ" uint16: 0; "NETPROTO_COMPRESSION_NONE" uint16: 37; "CLIENT_PROTOCOL_VERSION_MIN" uint16: 38; "LATEST_PROTOCOL_VERSION" nextPutAll: ('Player' encodeWith: #utf8). "Player name" ]. packet contents. Note that there are different options: 'Player' encodeWith: #utf8. 'Player' encodeWith: #null. 'Player' encodeWith: #ascii. But for an ASCII string they give the same result. #null asZnCharacterEncoder. #ascii asZnCharacterEncoder. There is also #utf8Encoded on String. Sven
On 16 Jan 2020, at 11:54, HilaireFernandes <hilaire@drgeo.eu> wrote:
| packet | packet := ByteArray streamContents: [:str | str nextPut: 16r02; "TOSERVER_INIT" nextPut: 28; "SER_FMT_VER_HIGHEST_READ" uint16: 0; "NETPROTO_COMPRESSION_NONE" uint16: 37; "CLIENT_PROTOCOL_VERSION_MIN" uint16: 38; "LATEST_PROTOCOL_VERSION" nextPutAll: 'Player'. "Player name" ]. packet contents