MemoryStream из строки - путаница с кодировкой для использования

У меня есть фрагмент кода, который преобразует строку в поток памяти:

using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(applicationForm)))

Однако я немного запутался, правильно ли это. Обычно меня всегда путает кодировка .NET.

Итог: я использую правильный объект кодирования ( UTF8 ) для получения байтов?

Я знаю, что внутри .NET строка хранится как UTF-16 , но моя переменная applicationForm была основана на файле с текстом, который был сохранен в кодировке UTF-8 .

Спасибо, Павел

РЕДАКТИРОВАТЬ 1: Давайте объясним, как именно я получаю переменную applicationForm . У меня есть доступ к сборке, которая предоставляет класс с методом GenerateApplicationForm . Этот метод возвращает строку. Однако я знаю, что где-то за кулисами компонент использует файлы, хранящиеся на диске, содержимое которых кодируется с использованием UTF-8. Поэтому я не могу читать файл напрямую и т. Д. У меня есть только эта строка, и я знаю, что изначально используется файл в кодировке UTF-8. У меня есть доступ к сборке, которая предоставляет класс с методом GenerateApplicationForm . Этот метод возвращает строку. Однако я знаю, что где-то за кулисами компонент использует файлы, хранящиеся на диске, содержимое которых кодируется с использованием UTF-8. Поэтому я не могу читать файл напрямую и т. Д. У меня есть только эта строка, и я знаю, что изначально используется файл в кодировке UTF-8. У меня есть доступ к сборке, которая предоставляет класс с методом GenerateApplicationForm . Этот метод возвращает строку. Однако я знаю, что где-то за кулисами компонент использует файлы, хранящиеся на диске, содержимое которых кодируется с использованием UTF-8. Поэтому я не могу читать файл напрямую и т. Д. У меня есть только эта строка, и я знаю, что изначально используется файл в кодировке UTF-8. В клиентском коде, который использовал компонент GenerateApplicationForm , мне нужно преобразовать переменную applicationForm в поток, потому что другие компоненты (из другой сборки) ожидают Stream . Вот где с помощью .... Заявление, упомянутое в вопросе, начинает действовать.

7
задан dragonfly 31 May 2011 в 14:15
поделиться