Сколько памяти займет слово информатика при кодировании с использованием стандарта ascii

Обновлено: 05.07.2024

Использование метаданных в формате XML в качестве основы для передовых информационных систем для экологических исследований Центр экологических исследований Питера Х. МАККАРТНИ Университет штата Аризона, Темпе, AZ 85282, США, и Мэтью Б. ДЖОНС, Национальный центр экологического анализа и синтеза, Калифорнийский университет , Санта-Барбара Санта-Барбара, Калифорния, США 1. РЕФЕРАТ Метаданные предоставляют информацию о структуре и значении данных. Это один из основных компонентов для создания масштабируемой сетевой инфраструктуры для доступа к экологическим данным. Несколько партнерских групп из области экологии сотрудничали, чтобы определить стандартизированный формат метаданных, который можно анализировать и расширять с помощью машин. Это позволило новым проектам сосредоточиться на разработке инструментов для управления архивами метаданных, а также для доступа и обработки наборов данных, которые они описывают. Язык экологических метаданных и связанные с ним инструменты окажут значительное влияние на интеграцию и синтез экологических данных на глобальном уровне. 2. РОЛЬ МЕТАДАННЫХ В ЭКОЛОГИЧЕСКОЙ ИНФОРМАТИКЕ Целями экологической информатики являются обеспечение долгосрочной доступности экологических данных и повышение применимости этих данных для получения знаний об окружающей среде. Использование цифровых носителей для захвата, хранения и обработки все больших объемов данных в значительной степени способствовало достижению этих целей, но это, в свою очередь, создало новые проблемы для индексации, навигации и документирования этого внезапного обилия информации[1]. Критически важным инструментом для решения этой задачи являются метаданные. Метаданные — это документация, преобразующая данные из потока чисел и символов в информацию. Все из нас, кто работает с данными, полагались на метаданные, такие как метки столбцов, объявления типов данных и т. д., даже если мы не узнавали эти вещи по этому имени. Метаданные предоставляют информацию на многих уровнях для поддержки многих фаз нашего взаимодействия с экологическими данными. Такая информация, как идентификаторы каталога, название, автор и т. д., обеспечивает базовую информацию о цитировании для идентификации набора данных. Поисковые системы полагаются на ключевые слова и дескрипторы покрытия для пространственных, временных или тематических доменов, чтобы помочь в обнаружении наборов данных. Информация о контексте исследования, в котором были получены данные, помогает в оценке набора данных. Сведения о соединении, имена файлов и информация об управлении доступом позволяют получить набор данных. Наконец, подробные описания сущностей, атрибутов и качества данных повышают удобство использования набора данных для анализа. Члены экологического исследовательского сообщества уже более десяти лет собирают метаданные в рамках процесса архивирования данных. Известные примеры включают сеть долгосрочных экологических исследований [2] и Национальные лаборатории Ок-Риджа [3]. В 1997 году, после статьи Миченера об экологически значимых метаданных [4], исследователи из Национального центра экологического анализа и синтеза (NCEAS) начали реализацию первой версии языка экологических метаданных (EML), которая несколько раз пересматривалась и завершилась версией EML. 1.4.1 [5]. По мере роста опыта работы с этой первоначальной версией EML стало очевидно, что она нуждается в пересмотре, чтобы повысить удобство использования и гибкость для экологического сообщества. Таким образом, проект Knowledge Network for Biocomplexity (KNB) начал работу по пересмотру спецификации EML для создания второй версии, которая была

Байты часто используются для хранения отдельных символов в текстовом документе. В наборе символов ASCII каждому двоичному значению от 0 до 127 соответствует определенный символ. Большинство компьютеров расширяют набор символов ASCII, чтобы использовать весь диапазон из 256 символов, доступных в байте. Верхние 128 символов используются для обработки особых вещей, таких как символы с диакритическими знаками в распространенных иностранных языках.

Вы можете увидеть 127 стандартных кодов ASCII ниже. Компьютеры хранят текстовые документы как на диске, так и в памяти, используя эти коды. Например, если вы используете Блокнот в Windows 95/98 для создания текстового файла, содержащего слова «Четыре балла и семь лет назад», Блокнот будет использовать 1 байт памяти на каждый символ (включая 1 байт на каждый символ пробела между словами). -- символ ASCII 32). Когда Блокнот сохраняет предложение в файле на диске, этот файл также будет содержать 1 байт на символ и на пробел.

Проведите такой эксперимент: откройте новый файл в Блокноте и вставьте в него предложение "Четыре балла и семь лет назад". Сохраните файл на диск под именем getty.txt. Затем используйте проводник и посмотрите на размер файла. Вы обнаружите, что размер файла на диске составляет 30 байт: по 1 байту на каждый символ. Если вы добавите еще одно слово в конец предложения и сохраните его повторно, размер файла увеличится до соответствующего количества байтов. Каждый символ занимает один байт.

Если бы вы посмотрели на файл так, как на него смотрит компьютер, вы бы обнаружили, что каждый байт содержит не букву, а число — число — это код ASCII, соответствующий символу (см. ниже). Итак, на диске номера файла выглядят так:

Посмотрев в таблицу ASCII, вы увидите однозначное соответствие между каждым символом и используемым кодом ASCII. Обратите внимание на использование 32 для пробела — 32 — это код ASCII для пробела. Мы могли бы преобразовать эти десятичные числа в двоичные числа (то есть 32 = 00100000), если бы хотели быть технически правильными — именно так компьютер действительно работает с вещами.

Однако сегодня, работая с сетевыми протоколами и сетевым программированием, вы столкнетесь с множеством схем кодирования данных и символов.

В этом руководстве мы рассмотрим основные схемы кодирования, используемые на компьютерах, а во второй части руководства мы рассмотрим, как данные передаются по сети.

Символы, целые числа, числа с плавающей точкой и т. д.

При хранении и передаче данных вам необходимо будет представлять следующие типы данных:

  • Символы и цифры, например A и 1
  • Длинные (32 бита) и короткие (16 бит) целые числа со знаком и без знака
  • Одинарное и двойное число с плавающей запятой
  • Логическое значение, т. е. True и False

Так как же компьютер запоминает букву А или цифру 1?

Как компьютер запоминает число вроде 60101? или 62.0101?

Как передать букву А и т. д. на другой компьютер по сети?

Компьютеры и кодировка символов

Чтобы сохранить текст в виде двоичных данных, необходимо указать кодировку для этого текста.

Компьютерные системы могут использовать различные схемы кодирования символов.

Пока данные остаются на компьютере, совершенно неважно, как они закодированы.

Однако для передачи данных между системами необходимо использовать стандартную схему кодирования.

В 1968 году ASCII (Американский стандартный код для обмена информацией) был принят в качестве стандарта кодирования текста для обмена данными.

ASCII

ASCII – это американский стандарт, предназначенный для кодирования английских символов и знаков препинания, которые использовались на пишущих машинках и телетайпах той эпохи (1960-е годы).

ASCII использует 8 бит, хотя на самом деле используется только 7 бит.

Поскольку кодировка ASCII была разработана во время эксплуатации устройств телетайпа, она также содержит управляющие коды, предназначенные для управления устройством телетайпа.

В таблице ниже представлены сводные данные о распределении кодов.

Таблица ASCII – сводка кодов

Расширения ASCII

Поскольку ASCII не может кодировать такие символы, как знак фунта £, или общие символы немецкого и других европейских языков, были разработаны различные расширения.

Эти расширения сохранили набор символов ASCII и использовали неиспользуемую часть адресного пространства и управляющие коды для дополнительных символов.

Наиболее распространенными являются Windows 1252 и Latin-1 (ISO-8859).

Windows 1252 и 7-битная кодировка ASCII были наиболее широко используемыми схемами кодирования до 2008 года, когда UTF-8 стал наиболее распространенным.

ISO-8859-1,ISO-8859-15, Latin-1

ISO-8859 — это 8-битная кодировка символов, которая расширяет 7-битную схему кодирования ASCII и используется для кодирования большинства европейских языков. Подробнее см. вики.

ISO-8859-1, также известный как Latin-1, является наиболее широко используемым, поскольку его можно использовать для большинства распространенных европейских языков, например немецкого, итальянского, испанского, французского и т. д.

Она очень похожа на схему кодирования Windows-1252, но не идентична, см. Сравнение символов в Windows-1252, ISO-8859-1, ISO-8859-15

Юникод

В связи с необходимостью кодирования символов иностранных языков и других графических символов был разработан набор символов Unicode и схемы кодирования.

Самые распространенные схемы кодирования:

UTF-8 – это наиболее часто используемая схема кодирования, используемая в современных компьютерных системах и компьютерных сетях.

Это схема кодирования переменной ширины, разработанная для полной обратной совместимости с ASCII. Он использует от 1 до 4 байт. – вики

Наборы символов и схемы кодирования

Разница между ними не всегда ясна, и термины, как правило, используются взаимозаменяемо.

Набор символов — это список символов, а схема кодирования — это то, как они представлены в двоичном формате.

Это лучше всего видно с Unicode.

Схемы кодирования UTF-8, UTF-16 и UTF-32 используют набор символов Unicode, но кодируют символы по-разному.

ASCII – это набор символов и схема кодирования.

Знак порядка байтов (BOM)

Знак порядка байтов (BOM) — это символ Unicode, U+FEFF, который появляется как магическое число в начале текстового потока и может сигнализировать программе, потребляющей текст, о нескольких вещах: –Wiki

  • Порядок байтов или порядок следования байтов в текстовом потоке;
  • Тот факт, что кодировка текстового потока — Unicode, с высокой степенью достоверности;
  • Какой Unicode кодирует текстовый поток.

Спецификация различается для текста в кодировке UTF-8, UTF-16 и UTF-32

Следующая таблица, взятая из Wiki, показывает это.

bom-table- пример

Спецификации и текстовые редакторы

Как правило, большинство редакторов правильно обрабатывают спецификацию, и она не отображается.

Программное обеспечение Microsoft, такое как Блокнот, добавляет спецификацию при сохранении данных в кодировке UTF-8 и не может интерпретировать текст без спецификации, если он не является чистым ASCII.

Пример спецификации

Ниже приведен вывод простой программы на Python, которая отображает содержимое файла, содержащего символы TEST (4 символа), сохраненные в виде ASCII, UTF-8, UTF-16-BE и UTF-16-LE

BOM-example

Распространенные вопросы и ответы

В. Как узнать, какую кодировку символов использует файл?

A- Обычно это не так, но некоторые текстовые редакторы, такие как notepad++, отображают кодировку. Если вы получили файл, закодированный с помощью кодировки, отличной от ожидаемой, вы можете получить сообщение об ошибке при попытке его чтения.

В. Мой файл в формате ASCII, но он нормально декодируется с помощью декодера UTF-8. Почему?

A- Потому что UTF-8 обратно совместим с ASCII.

Целые числа и числа с плавающей запятой — Big и Little Endian

Примечание. Поскольку в кодировках UTF-16 и UTF-32 используются 2-байтовые или 4-байтовые целые числа, к кодированию текста с их использованием применяется следующее

Количество байтов, выделенных для целого числа или числа с плавающей запятой, зависит от системы.

Пункт Tutorials описывает это для языка программирования C, и я буду использовать его для иллюстрации

Если мы возьмем короткое целое как 2 байта, а длинное целое как 4 байта.

Поскольку они используют несколько байтов, возникает несколько вопросов:

  • Какой байт представляет старшую часть числа?
  • При сохранении в памяти, какой байт сохраняется первым
  • При отправке по сети какой байт отправляется первым.

Окончание байтов относится к последовательному порядку, в котором байты упорядочиваются в более крупные числовые значения при сохранении в памяти или при передаче по цифровым каналам связи.
Окончание байтов представляет интерес в информатике, потому что два конфликтующих и несовместимых формата широко используются: слова могут быть представлены в формате с прямым порядком байтов или прямым порядком байтов, в зависимости от того, упорядочены ли биты, байты или другие компоненты от большого конец (самый значащий бит) или маленький конец (наименьший значащий бит).
В формате с обратным порядком байтов всякий раз, когда адресуется память или отправляются/сохраняются слова побайтно, старший значащий байт — байт, содержащий старший значащий бит — сохраняется сначала (имеет младший адрес) или отправляется первым, затем следующие байты сохраняются или отправляются в порядке убывания значимости, причем младший байт — тот, который содержит младший значащий бит — сохраняется последним (имеет самый высокий адрес) или отправляется последним.

Вики

int- Пример кодирования байтов

На приведенном ниже рисунке с использованием python показано целое число 16, представленное в виде 4 байтов, с использованием порядка байтов с прямым и обратным порядком байтов.

Сетевой порядок байтов и системный порядок байтов

Сетевой порядок байтов – это порядок расположения байтов при отправке данных по сети. ( TCP/IP обычно имеет формат Big Endian ).

Это означает, что старший байт отправляется первым.

Системный порядок байтов или порядок байтов хоста — это способ размещения байтов при сохранении в памяти хост-системы.

Несмотря на то, что были приложены все усилия для соблюдения правил стиля цитирования, могут быть некоторые расхождения. Если у вас есть какие-либо вопросы, обратитесь к соответствующему руководству по стилю или другим источникам.

Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.

ASCII, аббревиатура от американского стандартного кода для обмена информацией, стандартного кода передачи данных, который используется небольшими и менее мощными компьютерами для представления как текстовых данных (букв, цифр и знаков препинания), так и команд, не предназначенных для устройства ввода ( управляющие символы). Как и другие системы кодирования, она преобразует информацию в стандартизированные цифровые форматы, которые позволяют компьютерам взаимодействовать друг с другом, а также эффективно обрабатывать и хранить данные.

Код ASCII изначально был разработан для телетайпов, но со временем нашел широкое применение в персональных компьютерах. Стандартный код ASCII использует семизначные двоичные числа; то есть числа, состоящие из различных последовательностей нулей и единиц. Код может представлять 128 различных символов, поскольку существует 128 различных возможных комбинаций семи нулей и единиц.Двоичная последовательность 1010000, например, представляет собой букву «P» в верхнем регистре, а последовательность 1110000 представляет букву «p» в нижнем регистре.

Цифровые компьютеры используют двоичный код, состоящий из восьми, а не семи цифр или битов. Каждая такая восьмизначная группа называется байтом. Поскольку в цифровых компьютерах используются восьмибитные байты, код ASCII обычно встраивается в восьмибитное поле, состоящее из семи информационных битов и бита четности, которое используется для проверки ошибок или для представления специальных символов. Использование восьмибитной системы увеличило количество символов, которые может представлять код, до 256. Восьмибитная система, известная как расширенный код ASCII, была введена в 1981 году компанией International Business Machines Corporation (IBM) для использования. со своей первой моделью персонального компьютера. Этот расширенный код ASCII вскоре стал отраслевым стандартом для персональных компьютеров. В нем используются 32 кодовые комбинации для машинных и управляющих команд, таких как «начало текста», «возврат каретки» и «подача страницы». Следующая группа из 32 комбинаций используется для чисел и различных знаков препинания. Другая группа из 32 комбинаций используется для прописных букв и нескольких других знаков препинания, а последние 32 комбинации используются для строчных букв.

В мэйнфреймах и миникомпьютерах используется другая система кодирования, EBCDIC (расширенный двоично-десятичный код обмена).

Читайте также: