В современном программировании работа с текстовыми файлами — это одна из самых распространённых задач. Особенно важно правильно управлять кодировками, чтобы избежать ошибок отображения символов, потери данных и проблем с совместимостью. В этой статье мы расскажем, как эффективно управлять кодировкой файлов с помощью C# и .NET, используя мощный инструмент — SautinSoft Document .NET.
Кодировка определяет, как последовательность байтов интерпретируется как символы. В современном мире существует множество кодировок: UTF-8, UTF-16, Windows-1251, ISO-8859-1 и другие. Неправильное определение или использование кодировки приводит к:
Правильное управление кодировками — залог надежных и корректных текстовых приложений!
Если вы создаете решения, где важна точность отображения и обмена текстовой информацией, — не обходите стороной возможность управлять кодировками с помощью этой библиотеки. Это не только повысит стабильность ваших приложений, но и убережет вас от множества проблем, связанных с неправильной обработкой текстовых данных.
Пошаговое руководство:
Полный код
using SautinSoft.Document;
using System.IO;
using System.Text;
namespace Example
{
    class Program
    {
        static void Main(string[] args)
        { 
            // Get your free trial key here:   
            // https://sautinsoft.com/start-for-free/
            Unicode();
        }
        /// <summary>
        /// Convert files using different encodings.
        /// </summary>
        /// <remarks>
        /// Details: https://sautinsoft.com/products/document/help/net/developer-guide/encodings.php
        /// </remarks>
        static void Unicode()
        {
            string inpFile = @"..\..\..\example.txt";
            string outFile = @"Result.pdf";
            // Provides access to an encoding provider for code pages that otherwise are available only in the desktop .NET Framework and .NET
            // https://learn.microsoft.com/en-us/dotnet/api/system.text.codepagesencodingprovider
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            DocumentCore dc = DocumentCore.Load(inpFile, new TxtLoadOptions { Encoding = Encoding.GetEncoding(1251)});
            dc.Save(outFile);
            // Important for Linux: Install MS Fonts
            // sudo apt install ttf-mscorefonts-installer -y
            // Open the result for demonstration purposes.
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
        }
    }
}Imports SautinSoft.Document
Imports System.IO
Imports System.Text
Namespace Example
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Get your free trial key here:   
			' https://sautinsoft.com/start-for-free/
			Unicode()
		End Sub
		''' <summary>
		''' Convert files using different encodings.
		''' </summary>
		''' <remarks>
		''' Details: https://sautinsoft.com/products/document/help/net/developer-guide/encodings.php
		''' </remarks>
		Private Shared Sub Unicode()
			Dim inpFile As String = "..\..\..\example.txt"
			Dim outFile As String = "Result.pdf"
			' Provides access to an encoding provider for code pages that otherwise are available only in the desktop .NET Framework and .NET
			' https://learn.microsoft.com/en-us/dotnet/api/system.text.codepagesencodingprovider
			System.Text.Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)
			Dim dc As DocumentCore = DocumentCore.Load(inpFile, New TxtLoadOptions With {.Encoding = System.Text.Encoding.GetEncoding(1251)})
			dc.Save(outFile)
			' Important for Linux: Install MS Fonts
			' sudo apt install ttf-mscorefonts-installer -y
			' Open the result for demonstration purposes.
			System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
		End Sub
	End Class
End Namespace
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: