Что такое ansi. Кодировки: полезная информация и краткая ретроспектива

Стоит отметить, что все обозначения классов давления по ANSI несут определенный смысл, а именно значение давления, но только в иных единицах, чем мы привыкли. Все цифры после ANSI обозначают значение Условного (Номинального) Давления: ANSI 150, ANSI 300, ANSI 600, ANSI 900, ANSI 1500, ANSI 2500 и ANSI 4500. К примеру, ANSI 150 означает что условное давление 150 фунтов на квадратный дюйм. По-английски это пишется как Pound-force per Square Inch или коротко PSI.

Соответственно, таким образом можно сделать самостоятельный перевод из фунтов на квадратный дюйм в бар (100 кПа) или МПа. Для самостоятельного расчета точного потребуется знать, что 1 PSI = 6894,76 Па. Все расчеты давления ANSI в бар и в Паскали можно делать, когда есть время и необходимость в получении точных данных, в то же время, большинство стандартных значений классов давлений по ANSI уже имеют стандартные значения в бар и МПа. Для упрощения, мы составили короткую таблицу для вашего пользования:

Таблица классов давления ANSI с переводом в Бар и МПа

Класс давления ANSI

Иногда даже достаточно опытный специалист не сразу скажет вам, чему соответствует то или иное значение давления или длины в одной системе значениям в другой системе величин.

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


DIN - это немецкий стандарт (расшифровывается как Deutsches Institut für Normung , то есть разработанный Германским институтом стандартизации), который разрабатывается строго в рамках положений Международной организации по стандартизации - ISO (International Organization for Standardization).


ANSI – стандарт, принятый в Соединённых Штатах Америки. Расшифровывается как American National Standards Institute , то есть стандарт Американского национального института по стандартизации.

Соответственно, нормы ANSI определяются именно этим институтом, и далеко не всегда между стандартами DIN и ANSI можно проследить точные соответствия в различных сферах.

Перевод единиц давления из ANSI в DIN

Здесь всё просто: если по стандарту ANSI напротив давления стоит цифра 150 - это означает, что номинальное (на которое рассчитана арматура) давление составляет 20 бар, 300 - 50 бар и т.д. Максимальное значение по ANSI Class – 2500 будет равно 420 бар по европейскому стандарту DIN .


Пользуясь этой таблицей, несложно переводить значения давления и обратно: из DIN в ANSI , хотя осуществлять такой перевод нашим инженерам требуется гораздо реже .

Перевод единиц длины из американской системы в европейскую (российскую)

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


Как же переводить дюймы в миллиметры? На самом деле, в этом также нет ничего сложного, достаточно лишь запомнить, что 1 дюйм равняется 25,4 мм. Однако нередко цифрой после запятой пренебрегают и для ровного счёта указывают, что 1 дюйм = 25 мм .

Таким образом, если, например, сечение входного отверстия равно 2 дюймам по американской системе мер, то, переведя по вышеуказанному правилу это значение в нашу систему мер, получаем 50 мм или, что более точно - 51 мм (округлив 50,8 по правилам).

Осталось добавить, что диаметр в технических характеристиках маркируется латинскими буквами DN и нередко указывается именно в дюймах , а давление обозначается при помощи букв PN и указывается чаще всего в барах - во всяком случае, мы используем именно такую маркировку как наиболее удобную .

А следующая таблица поможет вам высчитать не только точное количество миллиметров в одном дюйме (с точностью до тысячной миллиметра), но и поможет узнать, сколько миллиметров содержится, например, в 2,5 дюймах.

Для этого находим колонку 2"" (2 дюйма), а слева ищем значение 1/2. Итого 2,5 дюйма = 63,501 мм, что вполне можно округлить до 64 мм, а, например, 6,25 дюйма (то есть 6 и 1/4) = 158,753 мм или 159 мм.


Дюймы "" в миллиметрах



Часто в веб-программировании и вёрстке html-страниц приходится думать о кодировке редактируемого файла — ведь если кодировка выбрана неверная, то есть вероятность, что браузер не сможет автоматически её определить и в результате пользователь увидит т.н. «кракозябры» .

Возможно, вы сами видели на некоторых сайтах вместо нормального текста непонятные символы и знаки вопроса. Всё это возникает тогда, когда кодировка html-страницы и кодировка самого файла этой страницы не совпадают.

Вообще, что такое кодировка текста? Это просто набор символов, по-английски «charset » (character set). Нужна она для того, чтобы текстовую информацию преобразовывать в биты данных и передавать, например, через Интернет.

Собственно, основные параметры, которыми различаются кодировки — это количество байтов и набор спец.символов, в которые преобразуется каждый символ исходного текста.

Краткая история кодировок:

Одной из первых для передачи цифровой информации стало появление кодировки ASCII — American Standard Code for Information Interchange — Американская стандартная кодировочная таблица, принятая Американским национальным институтом стандартов — American National Standards Institute (ANSI) .

В этих аббревиатурах можно запутаться Для практики же важно понимать, что исходная кодировка создаваемых текстовых файлов может не поддерживать все символы некоторых алфавитов (к примеру, иероглифы), потому идёт тенденция к переходу к т.н. стандарту Юникод (Unicode) , который поддерживает универсальные кодировки — Utf-8, Utf-16, Utf-32 и др.

Самая популярная из кодировок Юникода — кодировка Utf-8. Обычно в ней сейчас верстаются страницы сайтов и пишутся разные скрипты. Она позволяет без проблем отображать различные иероглифы, греческие буквы и прочие мыслимые и немыслимые символы (размер символа до 4-х байт). В частности, все файлы WordPress и Joomla пишутся именно в этой кодировке. А также некоторые веб-технологии (в частности, AJAX) способны нормально обрабатывать только символы utf-8.

Установка кодировок текстового файла при создании его обычным блокнотом. Кликабельно

В Рунете же ещё можно встретить сайты, написанные с расчётом на кодировку Windows-1251 (или cp-1251). Это специальная кодировка, предназначенная специально для кириллицы.

ANSI это стандарт отображения символов, разработанный American National Standards Institute (код1251). Стандарт ANSI использует только один байт, чтобы представить каждый знак, соответственно ограничен максимумом 256 знаками, в том числе и пунктуации. Коды от 32 до 126 совпадают со стандартом ASCII. Стандарт ASCII (код 688) использовался в DOS, ANSI используется в Windows.

Литература

    Архангельский А.Я. Программирование в С++ Builder6. Изд. БИНОМ, 2004.

    Архангельский А.Я. С++ Builder6. Справочное пособие. Москва, Изд. БИНОМ, 2004.

    Киммел П. BorlandC++5 «BHV-Санкт-Петербург, 2001г.

    Климова Л.М. СИ++ Практическое программирование. Решение типовых задач. «КУДИЦ-ОБРАЗ», М.2001.

    Культин Н. С/С++ в задачах и примерах. Санкт-Петербург «БХВ-Петербург», 2003.

    Павловская Т.А. C/C++ Программирование на языке высокого уровня. Питер, Москва-Санкт-Петербург-… 2005г.

    Павловская Т.А., Щупак Ю.А. С++. Объектно-ориентированное программирование. Практикум. СПб., Питер, 2005.

    Подбельский В.В. Язык С++ Финансы и статистика, Москва, 2003г.

    Поляков А.Ю., Брусенцев В.А. Методы и алгоритмы компьютерной графики в примерах на VisualС++. СПб БХИ-Петербург, 2003г.

    Савитч У. Язык С++ курс объектно-ориентированного программирования. Издательский дом Вильямс. Москва-Санкт-Петербург-Киев, 2001г.

    Уэллин С. Как не надо программировать на С++. «Питер». Москва-Санкт-Петербург-Нижний Новгород-Воронеж-Новосибирск-Ростов-на-Дону-Екатеринбург-Самара-Киев-Харьков-Минск, 2004.

    Шилдт Г. Полный справочник по С++. Изд. Дом «Вильямс» Москва-Санкт-Перербург-Киев, 2003.

    Шилдт Г. Самоучитель С/С++ . Санкт-Петербург, «БХВ-Петербург», 2004.

    Шилдт Г. Справочник программиста по С/С++ Изд. Дом «Вильямс» Москва-Санкт-Перербург-Киев, 2003.

    Шиманович.Л. С/С++ в примерах и задачах. Минск, Новое знание, 2004.

    Штерн В. Основы С++. Методы программной инженерии. Изд. Лори.

Почему вместо русских букв в консольном приложении выводится мусор?

и правильно! Текст программы Вы набирали в родном редакторе Visual Studio, используя кодовую страницу 1251, а вывод текста в консольном приложении идет с использованием кодовой страницы 866. Что же делать с этим безобразием? Как известно из любого безвыходного положенния есть по крайней мере 3 выхода. Рассмотрим их по-порядку.

    1. Выход 1

Набрать текст программы в редакторе любого консольного файл-менеджера.

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

    1. Выход 2

Если Вы начали писать консольную программу с нуля, он может Вам подойти. Перепишем наш маленький шедевр вот так:

#include "stdafx.h"

#include "windows.h"

int main(int argc, char* argv)

char s="Привет всем!";

printf("%s\n", s);

Ключевое слово здесь CharToOem - именно эта функция и преобразует нашу строку в нужную кодовую страницу. С выводом у нашей программы теперь все нормально.

Но встает следующий вопрос - что делать, если надо перекомпилировать в консольное Windows-приложение Вашу старую DOS-программу на 100000 строк, написанную на Borland C++ 3.1, в которой такая ситуация встречается в каждой второй строке. А ведь придется еще подгонять ее под MS-компилятор, да и пару кусочков кода хочется соптимизировать...

Здесь пожалуй имеет смысл применить ход конем, в смысле

В основном «ANSI» относится к устаревшей кодовой странице в Windows. См. Также по этой теме. Первые 127 символов идентичны ASCII на большинстве кодовых страниц, однако верхние символы различаются.

Однако ANSI автоматически не означает CP1252 или Latin 1.

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

Что такое формат кодировки ANSI? Это системный формат по умолчанию? Чем он отличается от ASCII?

Когда-то Microsoft, как и все остальные, использовала 7-битные наборы символов, и они придумали свои собственные, когда они им подошли, хотя они сохранили ASCII в качестве основного подмножества. Затем они поняли, что мир перешел к 8-битным кодировкам и что существуют международные стандарты, такие как семейство ISO-8859. В те дни, если вы хотели получить международный стандарт, и вы жили в США, вы купили его у Американского национального института стандартов ANSI, который переиздал международные стандарты со своим собственным брендингом и цифрами (это потому, что правительство США хочет соответствие американским стандартам, а не международным стандартам). Итак, копия Microsoft ISO-8859 сказала «ANSI» на обложке. И поскольку Microsoft в те дни не очень привыкла к стандартам, они не понимали, что ANSI опубликовала множество других стандартов. Поэтому они ссылались на стандарты семейства ISO-8859 (и варианты, которые они изобрели, потому что в те дни они не понимали стандартов) по названию на обложке «ANSI», и он нашел свой путь в Microsoft пользовательскую документацию и, следовательно, в сообщество пользователей. Это было около 30 лет назад, но вы все еще иногда слышите это имя сегодня.

Или вы можете запросить свой реестр:

C:\>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage /f ACP HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage ACP REG_SZ 1252 End of search: 1 match(es) found. C:\>

При использовании однобайтовых символов формат ASCII определяет первые 127 символов. Расширенные символы из 128-255 определяются различными кодами ANSI, чтобы обеспечить ограниченную поддержку других языков. Чтобы понять кодировку ANSI, вам нужно знать, какую кодовую страницу она использует.

Технически ANSI должен быть таким же, как US-ASCII. Он относится к стандарту ANSI X3.4, который является просто утвержденной версией ASCII организации ANSI . Использование символов с верхним битом не определено в ASCII / ANSI, так как это 7-разрядный набор символов.

Однако годы неправильного использования термина DOS и впоследствии сообщества Windows оставили свое практическое значение как «системную кодовую страницу какой бы то ни было машины». Системная кодовая страница также иногда известна как «mbcs», так как в системах Восточной Азии, которая может быть кодировкой с несколькими байтами на символ. Некоторые кодовые страницы могут даже использовать байты с верхним битом в качестве байтов байтов в многобайтовой последовательности, поэтому он даже не является строго совместимым с простым ASCII ... но даже тогда он по-прежнему называется ANSI.

В настройках по умолчанию в США и Западной Европе «ANSI» сопоставляется с кодовой страницей Windows 1252. Это не то же самое, что и ISO-8859-1 (хотя это довольно похоже). На других машинах это могло быть что угодно. Это делает ANSI совершенно бесполезным в качестве внешнего идентификатора кодирования.

Я помню, когда текст ANSI ссылался на escape-коды псевдо-VT-100, используемые в DOS через драйвер ANSI.SYS, чтобы изменить поток потокового текста.... Вероятно, это не то, о чем вы говорите, но если он видит



Просмотров