Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 17.04.2018
Сообщений: 236
1

Байтовые потоки и потоки символов

09.05.2018, 12:31. Показов 3345. Ответов 1

Объясните, пожалуйста подробно что имелось ввиду
На самом низком уровне все операции ввода/вывода в С# оперируют байтами.
Подобный подход имеет смысл, поскольку большинство устройств, предназначенных для выполнения операций ввода/вывода, являются байт-ориентированными. Однако данным при общении с компьютером удобнее использовать символы. Напомним, что в С# тип данных char имеет разрядность 16 битов, а тип данных bуtе является 8-битовым. Если применяется набор символов ASCII, довольно просто выполнить преобразование между типами char и byte при этом для величины типа char нужно игнорировать старший байт. Данный прием не подходит при работе с остальными символами Unicode, которые используют оба байта. Поэтому байтовые потоки не вполне удобно использовать при выполнении символьного ввода, вывода. Для решения этой задачи в С# определены несколько классов, преобразующих байтовый поток в поток символов, то есть автоматически преобразующих данные типа byte в данные
типа char и наоборот.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2018, 12:31
Ответы с готовыми решениями:

Организация системы ввода-вывода: символьные, байтовые, двоичные потоки
Нужна помощь с задачей : "Дана последовательность из n вещественных чисел. Записать все эти числа...

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

Байтовые потоки
Здравствуйте, такой вопрос: как считать txt файл вида: adcb 12 abc dfg h1ig fhr74 fer839...

Java 2 Байтовые и символьные потоки
Дополнительно к копированию в терминал вывести количество символов между соседними пробелами. Не...

1
Эксперт .NET
15052 / 11403 / 2996
Регистрация: 17.09.2011
Сообщений: 19,126
09.05.2018, 12:37 2
Цитата Сообщение от Ivanjs Посмотреть сообщение
Объясните, пожалуйста подробно что имелось ввиду
Набор байтов может представлять собой строку в разных кодировках с разным используемым количеством байтов на символ.
В .NET все символы хранятся в памяти в кодировке UTF-16, представляются двумя байтами.
Если полученный набор байтов представляет строку в кодировке ASCII, то в символ ее преобразовать легко: достаточно делать прямой каст значения байта в символ: char symbol = (char)bytes[i];
Если же байты представляют строку, закодированную в каком-нибудь UTF-8, использующим до четырех байт на символ, то вышеприведенным способом конвертировать не получится — на выходе будет белиберда.
Даже если байты представляют текст в однобайтовой кодировке вроде KOI-8, то все равно получится белиберда, если в тексте присутствуют кириллические символы.

Потому и используются классы Encoding для правильного преобразования байтов в символы.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2018, 12:37

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Байтовые и символьные потоки. Ввод-вывод
здраствуйте, сегодня на программирование начали изучать работы с файлами, понял как читать и...

Java 2 Байтовые и символьные потоки. Ввод-вывод
Изменить программу, поместив в строку 13 операторы,которые меняют местами второй и третий биты...

Что такое потоки ввода, потоки вывода?
Здарова всем! Не так давно уже прогаю на С++ и все НИКАК не могу понять, что такое потоки ввода,...

Потоки
int counter=9000; DWORD WINAPI ThereadA(LPVOID p){ for (int i=0; i<10000; i++) counter ++;}...

потоки с++
добрый вечер !нужно проверить мою программу с потоками. переделала, но что-то не так(...

Потоки
У меня появилась проблема в потоках, сделал чекер с потоками, так вот когда начинаю работу то сразу...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.