Поделиться через


Поддержка кодировки для кодовых страниц

Обновлен: Ноябрь 2007

Использование Юникода в .NET Framework упрощает разработку международных приложений, поскольку приложениям больше не требуется обращаться к кодовой странице. Кодовая страница – это список выбранных кодов символов (символов, представленных кодовыми точками) в определенном порядке. Кодовые страницы обычно определяют для поддержки конкретных языков или групп языков, имеющих общие системы письма.

Кодовые страницы Windows содержат 256 кодовых точек, начинающихся с нуля. В большинстве кодовых страниц кодовые точки от 0 до 127 представляют одни и те же символы, что обеспечивает целостность и наследуемость кода. Кодовые точки от 128 до 255 значительно отличаются на разных кодовых страницах. Например, кодовая страница 1253 содержит коды символов, которые требуются для греческой системы письма. На кодовой странице 1252 определены символы для латинской системы письма, включая английский, немецкий и французский языки. Последние 128 кодовых точек на кодовой странице 1253 содержат греческие символы, а последние 128 кодовых точек на кодовой странице 1252 содержат символы ударения. Таким образом, в приложении нельзя хранить греческий и немецкий языки в потоке с одной кодировкой, пока не включен идентификатор, который указывает на соответствующую кодовую страницу.

Схема двухбайтового набора кодировок (DBCS) была разработана для таких языков, как китайский, японский и корейский, системы письма которых содержат больше 256 символов. В DBCS каждый символ представлен парой кодовых точек (два байта). При обработке приложением данных DBCS первый байт символа DBCS (ведущий байт) сам по себе не обрабатывается. Он обрабатывается в сочетании со вторым байтом, который идет непосредственно после него. Эта схема по-прежнему не допускает работу с сочетанием двух языков, например японского и китайского, в одном потоке данных. Причина в том, что одна пара двухбайтовых кодовых точек может представлять различные символы в зависимости от кодовой страницы.

.NET Framework предоставляет поддержку символов, закодированных при помощи кодовых страниц. Чтобы создать требуемый объект кодировки для указанной кодовой страницы, в приложении можно использовать метод GetEncoding. В следующем примере кода создается кодировка для кодовой страницы 1252.

Encoding enc = Encoding.GetEncoding(1252)
Encoding enc = Encoding.GetEncoding(1252);

После создания в приложении объекта Encoding, соответствующего указанной кодовой странице, этот объект может использоваться для выполнения других операций, поддерживаемых классом Encoding. Пример использования этого класса см. в теме "Использование класса Encoding" раздела Использование кодировки Юникод.

См. также

Основные понятия

Юникод в .NET Framework