Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Практическое руководство. Преобразование из устаревших кодировок в Юникод (Руководство по программированию в C#)
Обновлен: Июль 2008 В C# все строки в памяти кодируются как Юникод (UTF-16). При переносе данных из места хранения в объект string, данные автоматически преобразуются в UTF-16. Если данные содержат только ASCII-значения от 0 до 127, для преобразования не требуется никаких дополнительных действий. Но если исходный текст содержит дополнительные байтовые значения ASCII (от 128 до 255), дополнительные символы по умолчанию интерпретируются в соответствии с текущей кодовой страницей. Чтобы указать, что исходный текст нужно интерпретировать в соответствии с другой кодовой страницей, используйте класс System.Text..::.Encoding, как показано в следующем примере. Пример В следующем примере показано, как преобразовать текстовый файл, который был закодирован в 8-битном коде ASCII, интерпретируя исходный текст в соответствии с кодовой страницей Windows 737. Язык C#
Копировать код class ANSIToUnicode { static void Main() { // Create a file that contains the Greek work ψυχή (psyche) when interpreted by using // code page 737 ((DOS) Greek). You can also create the file by using Character Map // to paste the characters into Microsoft Word and then "Save As" by using the DOS // (Greek) encoding. (Word will actually create a six-byte file by appending "\r\n" at the end.) System.IO.File.WriteAllBytes(@"greek.txt", new byte[] { 0xAF, 0xAC, 0xAE, 0x9E });
// Specify the code page to correctly interpret byte values Encoding encoding = Encoding.GetEncoding(737); //(DOS) Greek code page byte[] codePageValues = System.IO.File.ReadAllBytes(@"greek.txt");
// Same content is now encoded as UTF-16 string unicodeValues = encoding.GetString(codePageValues);
// Show that the text content is still intact in Unicode string // (Add a reference to System.Windows.Forms.dll) System.Windows.Forms.MessageBox.Show(unicodeValues);
// Same content "ψυχή" is stored as UTF-8 System.IO.File.WriteAllText(@"greek_unicode.txt", unicodeValues);
// Conversion is complete. Show the bytes to prove the conversion. Console.WriteLine("8-bit encoding byte values:"); foreach(byte b in codePageValues) Console.Write("{0:X}-", b);
Console.WriteLine(); Console.WriteLine("Unicode values:"); string unicodeString = System.IO.File.ReadAllText("greek_unicode.txt"); System.Globalization.TextElementEnumerator enumerator = System.Globalization.StringInfo.GetTextElementEnumerator(unicodeString); while(enumerator.MoveNext()) { string s = enumerator.GetTextElement(); int i = Char.ConvertToUtf32(s, 0); Console.Write("{0:X}-", i); } Console.WriteLine();
// Keep the console window open in debug mode. Console.Write("Press any key to exit."); Console.ReadKey(); } /* * Output: 8-bit encoding byte values: AF-AC-AE-9E Unicode values: 3C8-3C5-3C7-3B7 */ }
Практическое руководство. Преобразование формата RTF в обычный текст (Руководство по программированию в C#) Обновлен: Июль 2008 Формат RTF является форматом документов, разработанный корпорацией Microsoft в конце 80-х годов для предоставления возможности использования одних и тех же документов в разных операционных системах. И Microsoft Word, и WordPad могут читать документы RTF и записывать в них. В платформе .NET Framework можно использовать элемент управления RichTextBox для создания текстового процессора, который поддерживает RTF и дает возможность пользователю применять форматирование текста в режиме WYSIWIG. Можно также использовать элемент управления RichTextBox для удаления программным способом котов форматирования RTF из документа и преобразования его в обычный текст. Для выполнения этого вида операций нет необходимости внедрять элемент управления в форме Windows Forms. |
||
Последнее изменение этой страницы: 2018-06-01; просмотров: 200. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |