Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/89: Рейтинг темы: голосов - 89, средняя оценка - 4.91
37 / 35 / 7
Регистрация: 18.04.2009
Сообщений: 435

Кодировки текста

09.05.2011, 16:46. Показов 18588. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как определить текущую кодировку текста в компоненте TextBox ?
И как её поменять ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.05.2011, 16:46
Ответы с готовыми решениями:

Создать программу для определения кодировки текста по умолчанию
Всем добрый день! Помогите пожалуйста! Задача такова: написать программу которая будет определять в какой кодировке дан текст в файле....

Исправить программу для кодировки текста из ASCII В 1251
Помогите пожалуйста пишу программу для кодировки текста из ASCII В 1251, в коде постоянно выбрасывает исключение, якобы выходит за пределы...

Определение кодировки текста
Здраствуйте,В textboxe multiline eсть текст, как вывести строку, которая удовлетворяет нужной кодировке?

9
 Аватар для XAHOK
273 / 266 / 20
Регистрация: 27.02.2009
Сообщений: 694
Записей в блоге: 7
10.05.2011, 12:48
По умолчанию вся текстовая информация храниться в кодировке Unicode. Можно ли изменить кодировку я не знаю, но перекодировать текст можно с помощью класса Encoding

C#
1
2
3
4
byte[] b = Encoding.Unicode.GetBytes("фвлаифыловаыловалоывиаывил");// Получаем байты в Unicode формате
            System.IO.File.WriteAllBytes("d:\\testUnicode.txt", b);//Сохраняем строку в Unicodе
            byte[] r = Encoding.Convert(Encoding.Unicode, Encoding.Default, b); // Преобразуем строку в ANSI кодировку
            System.IO.File.WriteAllBytes("d:\\testANSI.txt", r);//Сохраняем строку в ANSI
1
37 / 35 / 7
Регистрация: 18.04.2009
Сообщений: 435
12.05.2011, 18:04  [ТС]
Ничего не получилось с этим кодом. Все равно кракозябры.
В отладке подсмотрел что Encoding.Default.EncodingName = Cirillic (Windows).
Если загружаемый в TextBox файл открыть FARом, то файл корректно отображается при кодировке 1251, а при 866 нет.
Где вообще можно по подробнее почитать про эти чертовы кодировки ?
Кто знает подскажите.
0
155 / 155 / 30
Регистрация: 19.10.2009
Сообщений: 319
12.05.2011, 18:38
Почитать я б порекомендовал в первую очередь MSDN, а написать, по моей догадке, надо как в примере на этой странице, только unicode будет вторым параметром функции Convert, а в первый нужно подставить кириллицу.
1
37 / 35 / 7
Регистрация: 18.04.2009
Сообщений: 435
12.05.2011, 22:08  [ТС]
этот пример из MSDN я видел.
переделал так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            string asciiString = this.textBox.Text;
            // Create two different encodings.
            Encoding ascii = Encoding.ASCII;
            Encoding unicode = Encoding.Unicode;
 
            // Convert the string into a byte array.
            byte[] asciiBytes = ascii.GetBytes(asciiString);
 
            // Perform the conversion from one encoding to the other.
            byte[] unicodeBytes = Encoding.Convert(ascii, unicode, asciiBytes);
 
            // Convert the new byte[] into a char[] and then into a string.
            char[] unicodeChars = new char[unicode.GetCharCount(unicodeBytes, 0, unicodeBytes.Length)];
            unicode.GetChars(unicodeBytes, 0, unicodeBytes.Length, unicodeChars, 0);
            string unicodeString = new string(unicodeChars);
            this.textBox.Text = unicodeString;
не помогло. до выполнения за место русских букв были прямоугольники, после выполнения стали вопросительные знаки.

Ради эксперимента набрал в TextBox текст на русском и сохранил его в файл. В Far'e текст вообще отказывается корректно отображаться. Но в блокноте (Windows 7) отображается правильно
0
155 / 155 / 30
Регистрация: 19.10.2009
Сообщений: 319
12.05.2011, 22:32
Если я правильно понимаю, что текст загружается из файла, то знаки вопроса, как мне кажется, означают, что нужно вместо
C#
1
Encoding ascii = Encoding.ASCII;
написать (то, что я назвал выше подставить в первый параметр кириллицу)
C#
1
Encoding ascii = Encoding.GetEncoding("cp1251");
Либо, если это не сработает, экспериментировать дальше, пробовать
C#
1
Encoding ascii = Encoding.GetEncoding(866);
и т. п.. Но точно не Encoding.ASCII, в такой кодировке русских буквы не смогут отобразиться.
0
37 / 35 / 7
Регистрация: 18.04.2009
Сообщений: 435
14.05.2011, 19:18  [ТС]
на второй пример когда ругается. поэтому подставил целое значение 1251.

Но все равно отображаются кракозябры.
0
155 / 155 / 30
Регистрация: 19.10.2009
Сообщений: 319
14.05.2011, 20:33
866 тоже не работает? А какие именно кракозябры - хорошо б посмотреть screenshot и/или сам этот файл, откуда считается текст, а то так сложно определить. И ещё - если отладчиком посмотреть значение unicodeString, что он выдаёт?
0
37 / 35 / 7
Регистрация: 18.04.2009
Сообщений: 435
18.05.2011, 15:32  [ТС]
Выкладываю скриншоты сразу после открытия файла и после перекодирования.
Миниатюры
Кодировки текста   Кодировки текста  
Вложения
Тип файла: txt Мои диски.txt (13.1 Кб, 52 просмотров)
0
37 / 35 / 7
Регистрация: 18.04.2009
Сообщений: 435
14.06.2011, 18:13  [ТС]
Форумчане помогите! Файл как правильно не открывался так и не открывается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.06.2011, 18:13
Помогаю со студенческими работами здесь

Кодировки
Доброе время суток. Я делаю RSS aggregator. Как входные данные, на него подаются url feeds, я их разбиваю на разные части(title,...

кодировки
Мне надо сохранять данные в txt желательно чтобы блокнотом не открывалось а другой программой открывалось. Шифровать не хочу и не...

кодировки
здравствуйте! помогите решить такую задачу- желательно кодом есть массив байтов содержащий текст в кодировке utf7, нужно его...

Изменение кодировки текста
Доброго времени суток! Есть инфа, которую я подгружаю - но там не правильная кодировка. Работаю с переменной. Если бы работа...

Смена кодировки текста!
опять хелп!! std::string query = "netsh interface ip set addres name=\"" + interface_name + "\" static 192.168.2.2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru