Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/74: Рейтинг темы: голосов - 74, средняя оценка - 4.58
215 / 215 / 20
Регистрация: 18.05.2010
Сообщений: 865

Строки как работать с ASCII кодами?

23.07.2010, 00:01. Показов 14703. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программка и в ней есть функция который читает данные из фала. Файл может быть текствовым, двоичным короче содержать любую информацию. Считыватся файл как массив кодов ASCII затем преобразовывается в стоку вот тут то проблемы если в файле есть русские символы то вместо них появляется черт знает что т.к. тип string и char хранят данные в Unicode. У меня мало опыта в работе с C# помогите. вот код.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        public bool FileRead(string FileName, out string FileData)
        {
            try
            {
                byte[] B = File.ReadAllBytes(FileName);
                StringBuilder S = new StringBuilder();
                foreach (byte b in B)
                    S.Append((char)b);
                FileData = S.ToString();
                return true;
            }
            catch
            {
                FileData = "";
                return false;
            }
        }
Добавлено через 2 минуты
В дополнение... как получить ASCII код символа если тип данных string?

Добавлено через 30 минут
Разобрался если кому интересно то вот правильный код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        public bool FileRead(string FileName, out string FileData)
        {
            try
            {
                byte[] B = File.ReadAllBytes(FileName);
                FileData = Encoding.Default.GetString(B);
                return true;
            }
            catch
            {
                FileData = "";
                return false;
            }
        }
но вот как преобразвать string в ASCII коды пока не знаю.

Добавлено через 33 минуты
таким же образом
C#
1
2
string s = "Текст содержащий русские буквы и любые символы";
byte[] b = Encoding.Default.GetBytes(s)
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.07.2010, 00:01
Ответы с готовыми решениями:

Сформировать строку, считая числа начальной строки соответствующими ASCII-кодами символов результирующей строки
Доброго времени суток! Прошу помощи. Дана строка в виде последовательности разделенных запятыми натуральных чисел 32 ... 255....

Необходимо из строки символов вывести на экран символы с минимальным и максимальным кодами по таблице ASCII
Доброго времени суток. Помогите пожалуйста. Необходимо из строки символов вывести на экран символы с минимальным и максимальным кодами по...

Как использовать charsToTrim с ASCII кодом? или как удалить множество символов из строки используя код ASCII
Как использовать charsToTrim с ASCII кодом? или как удалить множество символов из строки используя код ASCII

6
Padawan
 Аватар для Johnny_D
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
23.07.2010, 00:40
Очень просто, берем значит символ и приводим его к типу int

C#
1
2
char ch = 'a';
int code = (int)ch;
А строку очень легко можно разбить на массив символов.


ps : a little bit too late
0
215 / 215 / 20
Регистрация: 18.05.2010
Сообщений: 865
23.07.2010, 09:56  [ТС]
ASCII коды от 0 до 255, а тип char значение unicode 2 байта. integer вообще 4 байта. попробовать конечно стоит но думаю не получится.
0
Padawan
 Аватар для Johnny_D
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
23.07.2010, 10:06
Конечно попробуйте, терять то нечего.
0
215 / 215 / 20
Регистрация: 18.05.2010
Сообщений: 865
24.07.2010, 08:58  [ТС]
Не работает так . Как только появляются символы русского алфавита то все, дело труба. И к тому же ASCII код это значение byte . Вот проверенный и рабочий вариант работы со строками и кодами.
читаем из файла и преобразовываем в строку
C#
1
2
byte[] B = File.ReadAllBytes(FileName);
FileData = Encoding.Default.GetString(B);
записываем строку в файл
C#
1
2
byte[] b = Encoding.Default.GetBytes(SomeStringValue);
File.WriteAllBytes(FullFileName, b);
можно было бы воспользоватся File.ReadAllText(FullFileName); но программа предпологает работу с любыми файлами и не только текстовыми.
0
4 / 4 / 1
Регистрация: 11.06.2010
Сообщений: 93
07.12.2010, 18:42
Спасибо ОГРОМНОЕ!!!
А я ломал голову как считать русский текст из файла.))))
0
 Аватар для Terion
271 / 203 / 13
Регистрация: 18.06.2010
Сообщений: 491
08.12.2010, 08:06
таки да, но вы могли просто читать из файла с заданной кодировкой))
http://msdn.microsoft.com/ru-r... S.95).aspx
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.12.2010, 08:06
Помогаю со студенческими работами здесь

Рисование кодами ASCII
*очередной новичок входит в великий мир С++ Итак, проблема собственно проста. Идея заключается в отрисовке прямоугольничка с...

Работа с кодами ASCII
Помогите пожалуйста. Ввести с клавиатуры строку символов, в которой слова разделяются пробелам. Вывести все слова в ячейки столбца А, при...

Как работать с кодами в браузерах Firefox и Chrome?
Есть в этих браузерах похожие друг на друга средства для разработчиков, для просмотра кода и редактирования. Я не могу разобраться, что...

Вывести строку ASCII кодами
Дается строка (длина не более 254) шестнадцатеричных чисел. Надо вывести строку, ASCII кодами из строки, символов - букв английского...

Нарисовать изображение ASCII кодами
Написать программу, которая рисует изображение, используя ASCII таблицы (ASCII код). Заранее благодарен


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru