Processing bytes
Why do we send bytes through the TCP channel as opposed to the string itself? We send bytes because they have a standardized way of being encoded and decoded. For instance, in this chapter, we are creating a client that is written in Rust. However, the client might be written in JavaScript or Python. Primitive data structures such as string characters can be encoded into bytes and then decoded when received by the TCP server. Because of the UTF-8 standard, we can use these strings anywhere. Our data could be saved in a file by one text editor and loaded by another text editor because they are both using the same encoding.
If we keep exploring the concept of bytes, we will conclude that the only data that a computer can store is bytes. MP3, WAV, JPEG, PNG, and so on are all examples of encoding. If you save any file, you will encode the data into bytes. If we load any file, we will be decoding the data from bytes. Now, let us decode our byte string that was sent...