Наконец, выясните, хотите ли вы сразу все байты (это самый простой способ работы): Encoding.GetBytes(string) один раз, и все готово), или вам нужно разбить его на куски - в этом случае вы захотите использовать Encoding.GetEncoder, а затем закодировать бит за раз. Кодер позаботится о сохранении состояния между вызовами, если вам нужно, например, разбить половину пути через символ.
Ответ 3
Какую кодировку вы используете? Konrad получил это довольно много вниз, но есть и другие, и вы можете получить тупой результат с неправильным: