Looking for .net Keywords? Try Ask4Keywords

.NET Framework Преобразование строки в / из другой кодировки


пример

Строки .NET содержат System.Char (кодовые модули UTF-16). Если вы хотите сохранить (или управлять) текст с другой кодировкой, вам придется работать с массивом System.Byte .

Преобразования выполняются по классам , полученных из System.Text.Encoder и System.Text.Decoder , которые вместе могут конвертировать в / из другого кодирования (от байта X закодированного массива byte[] к UTF-16 закодированных System.String и порока -versa).

Поскольку кодировщик / декодер обычно работает очень близко друг к другу, они группируются вместе в классе, производном от System.Text.Encoding , производные классы предлагают преобразования в / из популярных кодировок (UTF-8, UTF-16 и т. Д.).

Примеры:

Преобразование строки в UTF-8

byte[] data = Encoding.UTF8.GetBytes("This is my text");

Преобразование данных UTF-8 в строку

var text = Encoding.UTF8.GetString(data);

Изменить кодировку существующего текстового файла

Этот код будет считывать содержимое текстового файла с кодировкой UTF-8 и сохранять его обратно в кодировке UTF-16. Обратите внимание, что этот код не является оптимальным, если файл большой, потому что он будет считывать весь его контент в память:

var content = File.ReadAllText(path, Encoding.UTF8);
File.WriteAllText(content, Encoding.UTF16);