![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
RUVATA |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
Всем доброго времени суток...
Суть проблемы... есть текстовый файл в который был перенаправленный вывод утилиты командной строки... кодировка получается у нас DOS-866 (если не ошибаюсь) Задача: считать содержимое, в переменную, перегнать кодировку в Unicode Вопросов назрела целая куча: Во первых - в среде .NET а именно на в vb.NET, есть ли классы которые помогут разобраться с кодировкой файла а именно ее узнать... в Java например есть функция которая определяет кодировку целевого файла на основе его метки порядка байтов, а в .NET поиск по справке привел меня к EncodingHelper.GetEncoding - метод Visual Studio 2010 Пространство имен: Microsoft.VisualStudio.TextTemplating Сборка: Microsoft.VisualStudio.TextTemplating.10.0 (в Microsoft.VisualStudio.TextTemplating.10.0.dll) Но у мя все равно ничего не вышло, я ели ели сборук таку нашел и к проекту притянул за уши, тау и в последствии Visual Studio 2010 кажет "что нет там таких классов" Во вторых - хер с ним с определением, пускай мы знаем наперед кодировку... таки и как ее конвертить вот таку функцию накидал, а ничерта она не конвертит... хотя че-т меняется но по сути мы просто получили ? взамен кирилических символов в DOS-866
я ей на вход StreamReader.ReadToEnd из файлика... подсосвывал. ![]() |
|||
|
||||
cream |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 23.7.2010 Репутация: 1 Всего: 1 |
RUVATA, вместо этого:
попробуйте это:
Это сообщение отредактировал(а) cream - 31.1.2011, 17:39 |
||||
|
|||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
win1251-koi8-866 на основе статистики http://www.delphisources.ru/pages/faq/base...ext_coding.html
многбайтовые на основе BOM-а (считайте первые три байта да и сравните руками)... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
RUVATA |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
А я в итоге понял одну тонкость... тут ведь как устроенно - StreamReader по умолчанию читает в Unicode, чтобы адекватно манипулировать кодировками, необходимо явно ее указать еще на этапе считывания/инициализации экземпляра StreamReader, например чтобы зачитать некий test.txt (DOS 866) необходим вот такой конструктор экз.
В таком случае моя функция
отрабатывает, отлично ... да и для нормального вывода кириллических символов полученного теста во всякие Label, TextBox, GirdView перекодировка в Unicode не понадобится. вот так... Это сообщение отредактировал(а) RUVATA - 1.2.2011, 08:27 |
||||
|
|||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
... ибо при считывании и будет производится.... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
RUVATA |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
![]() ![]() Всем спасибо... |
|||
|
||||
cream |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 23.7.2010 Репутация: 1 Всего: 1 |
||||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |