какое количество памяти занимает один символ в текстовом файле
Какое количество памяти занимает один символ в текстовом файле
Объем текстового файла
Кодирование информации в ПК заключается в том, что каждому символу ставится в соответствие уникальный двоичный код. Таким образом, человек различает символы по их начертаниям, а компьютер — по их кодам.
ЗАДАЧА 1. Считая, что каждый символ кодируется одним байтом, оцените информационный объем сообщения: Без труда не вытащишь рыбку из пруда!
РЕШЕНИЕ: Считаем количество символов в сообщении с учетом пробелов и знаков препинания. Получаем N =35. Т.к. один символ кодируется 1 байтом, то всё сообщение будет занимать в памяти компьютера 35 байт.
ЗАДАЧА 2. Оценить информационный объем сообщения в Unicode : Без труда не вытащишь рыбку из пруда!
РЕШЕНИЕ: Количество символов в сообщении 35. Т.к. в Unicode один символ кодируется 2 байтами, то всё сообщение будет занимать в памяти компьютера 70 байт.
ЗАДАЧА 3. Определить информационный объем книги (в Мбайтах) подготовленной на компьютере, состоящей из 150 страниц (каждая страница содержит 40 строк, 60 символов в каждой строке).
1) Подсчитаем количество символов в книге 40 * 60 * 150 = 360 000
2) Информационный объем книги составит 360 000 * 1 байт = 360 байт
3) Переведем в заданные единицы 360 000 байт / 1024 = 351,5625 Кбайт / 1024 = 0,34332275 Мбайт
Длина фразы составляет примерно 40 символов. Следователь но, ее объем можно приблизительно оценить в 40 х 2 = 80 байт. Такого варианта ответа нет, попробуем перевести результат в би ты: 80 байт х 8 = 640 бит. Наиболее близкое значение из пред ложенных — 592 бита. Заметим, что разница между 640 и 592 составляет всего 48/16 = 3 символа в заданной кодировке и его можно считать несущественным по сравнению с длиной строки.
З амечание: Подсчетом символов в строке можно убедиться, что их ровно 37 (включая точку и пробелы), поэтому оценка 592 бита = 74 байта, что соответствует ровно 37 символам в двухбайтовой кодировке, является точной.
Алфавит – это набор букв, символов препинания, цифр, пробел и т.п.
Полное число символов в алфавите называют мощностью алфавита
ЗАДАЧА 4. Два текста содержат одинаковое количество символов. Первый текст составлен в алфавите мощностью 16 символов. Второй текст в алфавите мощностью 256 символов. Во сколько раз количество информации во втором тексте больше, чем в первом?
Скорость передачи информации
Скорость передачи данных по каналам связи ограничена пропускной способностью канала. Пропускная способность канала связи изменяется как и скорость передачи данных в бит/сек (или кратностью этой величины Кбит/с, Мбит/с, байт/с, Кбайт/с, Мбайт/с).
Для вычислении объема информации V переданной по каналу связи с пропускной способностью а за время t используют формулу:
РЕШЕНИЕ: Найдем скорость ADSL соединения: 1000 Кбайт / 32 с. = 8000 Кбит / 32 с. = 250 Кбит/с.
Найдем время для передачи файла объемом 625 Кбайт: 625 Кбайт / 250 Кбит/с = 5000 Кбит / 250 Кбит/с. = 20 секунд.
При решении задач на определении скорости и времени передачи данных возникает трудность с большими числами (пример 3 Мб/с = 25 165 824 бит/с), поэтому проще работать со степенями двойки (пример 3 Мб/с = 3 * 2 10 * 2 10 * 2 3 = 3 * 2 23 бита/с).
РЕШЕНИЕ: Время передачи файла: 1 мин = 60 с = 4 * 15 с = 2 2 * 15 с
Скорость передачи файла: 512000 бит/c = 512 * 1000 бит/с = 2 9 * 125 * 8 бит/с (1 байт = 8 бит)
2 9 * 125 байт/с = 2 9 * 125 бит/с / 2 10 = 125 / 2 Кб/с
Чтобы найти время объем файла, нужно умножить время передачи на скорость передачи:
(2 2 * 15 с) * 125 / 2 Кб/с = 2 * 15 * 125 Кб = 3750 Кб
1 символ это сколько бит
Я просто смущен. сколько символов в одном бите?
Это зависит от характера и того, в каком кодировании он находится:
Символ ASCII в 8-разрядной кодировке ASCII составляет 8 бит (1 байт), хотя он может поместиться в 7 бит.
Символ ISO-8895-1 в кодировке ISO-8859-1 составляет 8 бит (1 байт).
Символ Unicode в кодировке UTF-8 находится между 8 битами (1 байт) и 32 битами (4 байта).
Символ Юникода в кодировке UTF-16 находится между 16 (2 байтами) и 32 битами (4 байта), хотя большинство общих символов принимают 16 бит. Это кодировка, используемая Windows внутренне.
Символ Unicode в кодировке UTF-32 всегда 32 бита (4 байта).
Символ ASCII в UTF-8 — 8 бит (1 байт), а в UTF-16 — 16 бит.
Дополнительные символы (не ASCII) в ISO-8895-1 (0xA0-0xFF) будут принимать 16 бит в UTF-8 и UTF-16.
Это означало бы, что между 0.03125 и 0.125 символами.
Один бит это 1/8 (одна восьмая или 0.125 символа). Из учебника информатики мы знаем что для того чтобы записать один символ нам нужен 1 байт, который состоит из 8 бит, отсюда 1 бит это 1/8 символа или 0.125 символа. Почему 1 символ это байт? Все дело в том что машина (компьютер) не понимает наши буквы и символы, она понимает только значения «верно» и «ложь» которые записаны в двоичном коде (то есть при помощи двух символов 1 и 0). Соответственно для того чтобы закодировать один из 256 символов при помощи нолей и единиц нам потребуется восемь мест в каждом из которых может быть только один из двух вариантов: единица или ноль. Таким местом как раз и является один бит который может содержать только ноль или единицу, а вот последовательность из восьми нолей или единиц можно описать один из 256 символов. Таким образом и получается что для записи одного символа нам нужно 8 бит или один байт.
Сравнивая UTF-8 и UTF-16, можно отметить, что наибольший выигрыш в компактности UTF-8 даёт для текстов на латинице, поскольку латинские буквы без диакритических знаков, цифры и наиболее распространённые знаки препинания кодируются в UTF-8 лишь одним байтом, и коды этих символов соответствуют их кодам в ASCII. [4] [5]
Содержание
Алгоритм кодирования [ править | править код ]
Алгоритм кодирования в UTF-8 стандартизирован в RFC 3629 и состоит из 3 этапов:
1. Определить количество октетов (байтов), требуемых для кодирования символа. Номер символа берётся из стандарта Юникод.
Диапазон номеров символов | Требуемое количество октетов |
---|---|
00000000-0000007F | 1 |
00000080-000007FF | 2 |
00000800-0000FFFF | 3 |
00010000-0010FFFF | 4 |
Для символов Юникода с номерами от U+0000 до U+007F (занимающими один байт c нулём в старшем бите) кодировка UTF-8 полностью соответствует 7-битной кодировке US-ASCII.
2. Установить старшие биты первого октета в соответствии с необходимым количеством октетов, определённом на первом этапе:
Если для кодирования требуется больше одного октета, то в октетах 2-4 два старших бита всегда устанавливаются равными 102 (10xxxxxx). Это позволяет легко отличать первый октет в потоке, потому что его старшие биты никогда не равны 102.
Количество октетов | Значащих бит | Шаблон |
---|---|---|
1 | 7 | 0xxxxxxx |
2 | 11 | 110xxxxx 10xxxxxx |
3 | 16 | 1110xxxx 10xxxxxx 10xxxxxx |
4 | 21 | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
3. Установить значащие биты октетов в соответствии с номером символа Юникода, выраженном в двоичном виде. Начать заполнение с младших битов номера символа, поставив их в младшие биты последнего октета, продолжить справа налево до первого октета. Свободные биты первого октета, оставшиеся незадействованными, заполнить нулями.
Примеры кодирования [ править | править код ]
Символ | Двоичный код символа | UTF-8 в двоичном виде | UTF-8 в шестнадцатеричном виде | |
---|---|---|---|---|
$ | U+0024 | 100100 | 0 0100100 | 24 |
¢ | U+00A2 | 10 100010 | 110 00010 10 100010 | C2 A2 |
€ | U+20AC | 10 0000 10 101100 | 1110 0010 10 000010 10 101100 | E2 82 AC |
U+10348 | 1 0000 0011 01 001000 | 11110 000 10 010000 10 001101 10 001000 | F0 90 8D 88 |
Маркер UTF-8 [ править | править код ]
1-й байт | 2-й байт | 3-й байт | |
---|---|---|---|
Двоичный код | 1110 1111 | 1011 1011 | 1011 1111 |
Шестнадцатеричный код | EF | BB | BF |
Пятый и шестой байты [ править | править код ]
Объем памяти (биты, байты, килобайты,…)
Так вот 1 символ двоичной системы (0 или 1) занимает в памяти компьютера 1 бит.
А 8 бит составляют 1 байт (легко запомнить, что байт больше, ведь в нем даже больше букв, чем в слове «бит»)
Итак, даже одна буква или цифра в компьютере будет занимать пространство в 1 байт на жестком диске (ведь для её кодировки нужно восемь нулей и единиц).
Если расширения файлов у вас не отображаются, то включите их.
1. Для этого зайдите в любую папке на компьютере.
3. Перейдите во вкладку Вид.
4. И уберите последнюю галочку напротив фразы «Скрывать расширения для зарегистрированных типов файлов».
Теперь все файлы будут показываться у вас с расширением. Не меняйте их, чтобы не потерять доступ к файлам. После упражнения можете вернуть галочку на место.
Итак, файл создан. Посмотрите сколько он «весит». Для этого нажмите на файл правой кнопкой мыши и выберете последний пункт «Свойства».
Его размер должен составлять 0 байт. Т.е. он пуст и ничего не весит.
Теперь откройте его и впишите любую цифру от 0 до 9. Сохраните файл и снова посмотрите в свойствах его вес. Теперь он должен весить 1 байт (8 бит). Это именно вес вписанной в него информации.
На диске файл будет занимать больше места, что связано с заполнением диска служебной информацией о расположении файла, его имени и т.д. Но конкретно наша цифра занимает всего 1 байт. Если мы впишем еще одну цифру, размер станет в 2 раза больше и т.д.
Теперь попробуем с буквами английского алфавита. Любая буква строчная или прописная тоже будет занимать 1 байт.
Русский же алфавит не умещается в кодировку в 256 символов, поэтому для него выделяется целых 2 байта другой кодировки 16-битной или 16-разрядной (из 16 единиц и нулей). Попробуйте русские буквы и убедитесь в этом.
Редактировать этот урок и/или добавить задание Добавить свой урок и/или задание
Добавить интересную новость
Добавить анкету репетитора и получать бесплатно заявки на обучение от учеников
При правильном ответе Вы получите 1 балл
Сколько байт занимает одна буква латинского алфавита?
Выберите всего один правильный ответ.
Добавление комментариев доступно только зарегистрированным пользователям
Lorem iorLorem ipsum dolor sit amet, sed do eiusmod tempbore et dolore maLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempborgna aliquoLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempbore et dLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempborlore m mollit anim id est laborum.
28.01.17 / 22:14, Иван Иванович Ответить +5
Lorem ipsum dolor sit amet, consectetu sed do eiusmod qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipisicing sed do eiusmod tempboLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod temLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempborpborrum.
28.01.17 / 22:14, Иван Иванович Ответить +5
1. Размер файла
Теория:
Для хранения одного символа, введенного с клавиатуры компьютера отводится \(8\) бит информации.
Слово «компьютер» состоит из \(9\) символов, так как для хранения одного символа нужно \(8\) бит (или 1 байт) информации, то в памяти компьютера это слово займёт \(72\) бита или \(9\) байт.
Существуют более крупные единицы измерения информации.
\(1\) байт = \(8\) бит
\(1\) Кб (Килобайт) = \(1024\) байт
\(1\) Мб (Мегабайт) = \(1024\) Кб
\(1\) Гб (Гигабайт) = \(1024\) Мб
Объём современных носителей информации измеряется в Гигабайтах и Терабайтах .
Известно, что научная статья состоит из \(800\) страниц, на каждой странице \(2\) колонки из \(80\) строк, в каждой строке \(60\) символов. Выясните, сколько копий научной статьи можно будет сохранить на карте памяти, объём которой \(700\) Мбайт.
Узнаем общее количество символов в научной статье.
Чтобы узнать, сколько всего символов в научной статье, нужно перемножить количество строк, количество страниц и количество символов в каждой строке.
Вспомним, один символ введённый с клавиатуры занимает в памяти компьютера \(1\) байт.
Продолжим вычисления: 7680000 ⋅ 1 = 7680000 байт.
У нас получилось большое число, переведем его в большие единицы измерения, сначала в Кбайты, а потом в Мбайты.
7500 1024 ≈ 7 ( Мбайт ) — информационный вес одной научной статьи.
Посчитаем, сколько копий таких статей поместиться на карту памяти:
700 7 = 100 копий поместятся на карту памяти.
Тест. Организация ввода и вывода данных с использованием файлов
Список вопросов теста
Вопрос 1
Сколько байтов памяти занимает признак конца строки в текстовом файле?
Вопрос 2
Без пробелов запишите условие описанного цикла для считывания массива чисел из файла?
Вопрос 3
В каком виде хранятся данные на устройствах внешней памяти?
Варианты ответов
Вопрос 4
Какое количество памяти занимает один символ в текстовом файле?
Варианты ответов
Вопрос 5
Укажите верный порядок следования операторов в программе?
Укажите порядок следования всех 4 вариантов ответа:
Варианты ответов
Вопрос 6
Что будет записано в файл f при выполнении оператора writeln ( f )?
Выберите один из 4 вариантов ответа:
Варианты ответов
Вопрос 7
Укажите соответствие между операторами и их описаниями.
Укажите соответствие для всех 4 вариантов ответа:
1) Назначает файловой переменной файл с указанным названием
3) Считывает данные из текстового файла, соответствующего переменной f
4) Открывает текстовый файл для чтения
Варианты ответов
Вопрос 8
При помощи какого оператора текстовый файл открывается для перезаписи?
Выберите один из 4 вариантов ответа:
Варианты ответов
Вопрос 9
Какие разновидности файлов существуют?
Выберите несколько из 4 вариантов ответа:
Варианты ответов
Вопрос 10
Какой тип в языке Pascal имеет файловая переменная, для обращения к текстовому файлу?
Выберите один из 4 вариантов ответа: