Klayton,
Não tinha pensado nisto... fui procurar uma resposta e acho que entendi, vou explicar o que eu entendi:
- O "BinaryWriter" grava por trechos de Bytes (leia-se: "codificação" e "tamanho") de acordo com o que você definir. A definição "default" é a UTF-8, mas pode ser alterado a seu gosto. Depois o "BinaryReader" trabalha no mesmo formato (exemplo: UTF-8) e se vira para trazer de volta a informação.
Por favor, leia os artigos abaixo e veja se você também entende assim também:
==========================================================
Introduction to C# BinaryReader
Como o BinaryReader funciona em C#?
Ao criar uma instância do BinaryReader, fornecemos fluxo para ler, podemos opcionalmente especificar a codificação de caracteres a ser usada se não especificarmos a codificação, por padrão, a codificação UTF-8 é usada. Junto com isso, podemos opcionalmente especificar se queremos que o fluxo seja aberto depois que o objeto de BinaryReader for descartado, conforme mostrado na instrução abaixo.
https://www.educba.com/c-sharp-binaryreader/
==========================================================
C# - Escrevendo e Lendo arquivos binários
José Carlos Macoratti
...
A classe BinaryReader lê tipos de dados primitivos como valores binários em uma codificação específica e a classe BinaryWriter grava tipos primitivos em binário em um fluxo e suporta cadeias de caracteres de escrita em uma codificação específica.(Um objeto BinaryWriter trabalha no nível mais baixo de Streams.)
A classe BinaryWriter é usada para escrever tipos primitivos como valores binários em um fluxo de codificação específica. Ela trabalha com objetos de fluxo que fornecem acesso aos bytes subjacentes. Para criar um objeto BinaryWriter, primeiro você tem que criar um objeto FileStream e depois passar o BinaryWriter ao método construtor.
Após criar os objetos é feita a leitura do arquivo origem em blocos de 1024 bytes escrevendo em seguida no destino. Esse processo é repetido até alcançar o final do arquivo.
A seguir vamos criar um projeto C# do tipo Console na plataforma .NET Core e mostrar isso na prática.
...
https://www.macoratti.net/20/04/c_binarq1.htm
==========================================================
Por favor, leia também:
==========================================================
Exemplo de StreamWriter em C#
Mahesh Chand Date Jun 15, 2019
O trecho de código a seguir cria um StreamWriter de um FileStream com codificação. As codificações suportadas são ASCII, Unicode, UTF32, UTF7 e UTF8. A codificação é definida no namespace System.Text.
using (StreamWriter writer = new StreamWriter(stream, Encoding.UTF32))
O trecho de código a seguir cria um StreamWriter de um FileStream com codificação e tamanho de buffer.
using (StreamWriter writer = new StreamWriter(stream, Encoding.UTF32, 512))
https://www.c-sharpcorner.com/article/csharp-streamwriter-example/
==========================================================
C# - Copiando Arquivos textos e binários
José Carlos Macoratti
Nota: Um stream pode ser considerado um fluxo sequêncial de bytes com um arquivo, um dispositivo de entrada/saida, um processo de comunicação entre dois pontos ou um socket TCP/IP. (Após esta explicação eu vou continuar a usar a palavra stream na sua forma original sem tradução.)
https://macoratti.net/13/08/c_copa1.htm
==========================================================
C# - Lendo e escrevendo em arquivos textos (StreamReader/StreamWriter)
José Carlos Macoratti
https://macoratti.net/14/04/c_iotb1.htm
==========================================================
C# FileStream, StreamWriter, StreamReader, TextWriter, TextReader
Last Updated:December 5, 2022
https://www.softwaretestinghelp.com/c-sharp/csharp-filestream-streamwriter-streamreader/
==========================================================
Agora tente aprender mais também sobre o formato UTF-8 e outros formatos:
==========================================================
UTF-8
...
UTF-8 usa de um a quatro bytes (estritamente, octetos) por caractere, ...
https://pt.wikipedia.org/wiki/UTF-8
==========================================================
O que é ASCII, UNICODE e UTF-8
Última modificação: 22 de outubro de 2020 às 16:50 por Natali Chiconi .
https://br.ccm.net/faq/9956-o-que-e-ascii-unicode-e-utf-8
==========================================================
O que é Unicode, UTF-8, UTF-16?
https://qastack.com.br/programming/2241348/what-is-unicode-utf-8-utf-16
==========================================================
Espero ter ajudado.
[]'s,
Fabio I.