Menu
Jest wolny
rejestracja
Dom  /  Rada/ Co to jest ansi. Kodowanie znaków — co to jest format ANSI? Krótka historia kodowania

Co to jest ansi. Kodowanie znaków — co to jest format ANSI? Krótka historia kodowania

Zasadniczo „ANSI” odnosi się do starszej strony kodowej w systemie Windows. Zobacz także na ten temat. Pierwsze 127 znaków jest identycznych z ASCII w większości stron kodowych, ale górne znaki są inne.

Jednak ANSI automatycznie nie oznacza CP1252 lub łaciński 1.

Mimo całego zamieszania należy po prostu na razie unikać takich problemów i używać Unicode.

Co to jest format kodowania ANSI? to format systemu domyślny? Czym różni się od ASCII?

Dawno, dawno temu Microsoft, jak wszyscy inni, używał 7-bitowych zestawów znaków i wymyślał własne, gdy pasowały, chociaż zachowali ASCII jako główny podzbiór. Potem zdali sobie sprawę, że świat przeszedł na kodowanie 8-bitowe i że istnieją międzynarodowe standardy, takie jak rodzina ISO-8859. W tamtych czasach, jeśli chciałeś mieć normę międzynarodową i mieszkałeś w Stanach Zjednoczonych, kupowałeś ją od American National Standards Institute, ANSI, który ponownie wydał międzynarodowe normy z własnym oznaczeniem i numerami (to dlatego, że rząd USA chce przestrzegać z normami amerykańskimi, a nie normami międzynarodowymi). Tak więc kopia Microsoft ISO-8859 miała na okładce napis „ANSI”. A ponieważ Microsoft nie był w tamtych czasach zbyt przyzwyczajony do standardów, nie zdawali sobie sprawy, że ANSI opublikowało wiele innych standardów. Odnosili się więc do rodziny standardów ISO-8859 (i wariantów, które wymyślili, ponieważ nie rozumieli standardów w tamtych czasach) tytułem na okładce „ANSI” i trafiła ona do dokumentacji użytkownika Microsoftu, a tym samym do społeczności użytkowników. To było około 30 lat temu, ale wciąż czasami słyszysz tę nazwę.

Możesz też wysłać zapytanie do rejestru:

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 Koniec wyszukiwania: znaleziono 1 dopasowanie. C: \>

Używając znaków jednobajtowych, ASCII definiuje pierwsze 127 znaków. Zdefiniowano znaki rozszerzone od 128 do 255 różne kody ANSI zapewnia ograniczone wsparcie dla innych języków. Aby zrozumieć kodowanie ANSI, musisz wiedzieć, jakiej strony kodowej używa.

Technicznie ANSI powinien być taki sam jak US-ASCII. Należy do standardu ANSI X3.4, który jest po prostu wersją ASCII organizacji ANSI. Użycie znaków górnobitowych nie jest zdefiniowane w ASCII / ANSI, ponieważ jest to zestaw znaków 7-bitowych.

Jednak lata niewłaściwego używania terminu DOS, a następnie społeczności Windows, pozostawiły ich praktyczne znaczenie jako „strony kodowej systemu dowolnego komputera”. Strona kodowa systemu jest również czasami nazywana „mbcs”, tak jak w systemach wschodnioazjatyckich, która może być kodowaniem z wieloma bajtami na znak. Niektóre strony kodowe mogą nawet używać bajtów górnych bitów jako bajtów bajtów w sekwencji wielobajtowej, więc nie jest to nawet ściśle zgodne ze zwykłym ASCII ... ale nawet wtedy nadal nazywa się to ANSI.

W ustawieniach domyślnych w Stanach Zjednoczonych i Europie Zachodniej „ANSI” jest mapowane na strona kodowa Windows 1252. To nie to samo co ISO-8859-1 (choć jest dość podobne). Na innych maszynach mogło to być cokolwiek. To sprawia, że ​​ANSI jest całkowicie bezużyteczny jako zewnętrzny identyfikator kodowania.

Pamiętam, kiedy tekst ANSI odwoływał się do kodów ucieczki pseudo-VT-100 używanych w DOS przez sterownik ANSI.SYS do zmiany strumienia tekstu strumienia .... Prawdopodobnie nie o tym mówisz, ale jeśli widzi

ANSI jest instytucją normalizacyjną metod i technologii przemysłowych. Jest członkiem Międzynarodowej Organizacji Normalizacyjnej (ISO). W Niemczech istnieje odpowiednik takiej organizacji - Niemiecki Instytut Normalizacyjny (DIN), w Austrii - Austriacki Instytut Normalizacyjny (ASI), w Szwajcarii - Szwajcarskie Stowarzyszenie Normalizacyjne (SNV).

Chociaż normy ANSI znajdują się w wielu obszarach przemysłowych, oddzielny skrót „ANSI” w technologia komputerowa oznacza określoną grupę znaków na podstawie ASCII. Oryginalny standard ANSI nie istnieje, jednak projekty ANSI płynnie przyjęły standard ISO 8859.

Cele ANSI

Głównym zadaniem American National Standards Institute (ANSI) jest rozpowszechnianie i wdrażanie amerykańskich norm krajowych na całym świecie, w przedsiębiorstwach we wszystkich krajach.

Ponadto praca tego instytutu rozwiązuje problemy o zasięgu globalnym:

  • ochrona środowiska,
  • bezpieczeństwo przemysłowe,
  • bezpieczeństwo w gospodarstwie domowym.

Wiadomo, że w Stanach Zjednoczonych, podobnie jak w Rosji, standardy są przede wszystkim regulowane przez państwo (choć ANSI pozycjonuje się jako organizacja pozarządowa non-profit), dlatego chęć zapełnienia tej niszy i doprowadzenia wszystkich norm do Amerykański mianownik to myśl całkowicie logiczna i spójna. Rzeczywiście, poprzez standardy można upowszechniać nie tylko innowacje czysto techniczne, ale także prowadzić politykę zagraniczną państwa w zakresie globalizacji i integracji światowej.

Na wsparcie programu ANSI państwo przeznacza duży budżet, który przeznaczany jest głównie na optymalizację, aktualizację i reorganizację metod produkcji. W przemyśle stalowym normy ANSI od dawna są jednymi z najlepszych na świecie.

Nasza firma jest również chętna do pracy w produkcji wyrobów kołnierzowych, które są sprzedawane w ogromnych ilościach przedsiębiorstwom przemysłowym w Rosji i krajach WNP.

Czasami nawet dość doświadczony specjalista nie powie Ci od razu, jaka konkretna wartość nacisku lub długości w jednym systemie odpowiada wartościom w innym systemie wartości.

Do ułatwiać W tym zadaniu oferujemy tabele stosunku ciśnienia i wartości długości w systemach europejskich i amerykańskich z małymi wyjaśnienia... Ale najpierw kilka słów o samych standardach.


HAŁAS jest niemieckim standardem (oznacza Deutsches Institut für Normung, czyli opracowany przez Niemiecki Instytut Normalizacyjny), który jest rozwijany ściśle w ramach przepisów Międzynarodowej Organizacji Normalizacyjnej - ISO (Międzynarodowa Organizacja Normalizacyjna).


ANSI- standard przyjęty w Stanach Zjednoczonych Ameryki. Oznacza Amerykański Narodowy Instytut Norm, czyli standard Amerykańskiego Narodowego Instytutu Standardów.

W związku z tym standardy ANSI są określane przez tę instytucję i daleko nie zawsze między standardami HAŁAS oraz ANSI Dokładny konformizm w różnych dziedzinach.

Konwersja jednostek ciśnienia z ANSI na DIN

Tutaj wszystko jest proste: jeśli standard ANSI liczba 150 stoi naprzeciwko ciśnienia - oznacza to, że ciśnienie nominalne (dla którego przeznaczony jest zawór) wynosi 20 bar, 300 - 50 bar itd. Maksymalna wartość o Klasa ANSI- 2500 będzie równe 420 bar zgodnie z normą europejską HAŁAS.


Korzystając z tej tabeli, nietrudne przetłumacz wartości ciśnienia iz powrotem: z HAŁAS v ANSI, chociaż nasi inżynierowie bardzo potrzebują takiego tłumaczenia rzadziej.

Konwersja jednostek długości z systemu amerykańskiego na europejski (rosyjski)

Jak wiadomo, Amerykanie wszystko jest mierzone w calach i stopach, a my i Europejczycy- milimetry, centymetry i metry, czyli jak zdecydowana większość państw na świecie, w których żyjemy metryczny system jednostek.


Jak przeliczyć cale na milimetry? Właściwie to też nie jest trudne, pamiętaj tylko, że 1 cal to 25,4 mm. Jednak często cyfra po przecinku zaniedbany i ze względu na to wskaż, że 1 cal = 25mm.

Jeśli więc np. przekrój wlotu według amerykańskiego systemu miar wynosi 2 cale, to przekładając tę ​​wartość na nasz system miar zgodnie z powyższą zasadą, otrzymujemy 50 mm, a dokładniej , 51 mm (zaokrąglenie 50,8 wg regulaminu) ...

Pozostaje dodać, że średnica w techniczny cechy są oznaczone literami łacińskimi DN i często jest wskazywany dokładnie w cale, a ciśnienie jest oznaczone literami PN i jest wskazywany najczęściej w słupy- w każdym razie używamy właśnie takiego oznaczenia jak najbardziej wygodny.

I poniższa tabela pomoże możesz obliczyć nie tylko dokładny liczba milimetrów w jednym calu (z dokładnością do tysięcznej milimetra), ale pomoże też dowiedzieć się, ile milimetrów zawiera np. 2,5 cala.

Aby to zrobić, znajdź kolumnę 2 "" (2 cale), a po lewej stronie poszukaj 1/2. Łącznie 2,5 cala = 63,501 mm, co jest całkiem możliwe do zaokrąglenia do 64 mm, a na przykład 6,25 cala (tj. 6 i 1/4) = 158,753 mm lub 159 mm.


Cale „” w milimetrach



ANSI Lumen (lm, lm), jednostka to ...

Lumen ANSI jest miarą natężenia oświetlenia w projektorach multimedialnych wytwarzanego przez lampę, gdy prześwieca przez soczewkę. „Lumen” po łacinie oznacza „światło”, ANSI oznacza „American National Standards Institute”. Jest to standard pomiaru strumienia świetlnego używany do porównywania projektorów.

Parametr ten został wprowadzony w 1992 roku przez American Institute of National Standards jako jednostka reprezentująca średni strumień świetlny na 40” ekranie kontrolnym przy minimalnej ogniskowej obiektywu zmiennoogniskowego projektora.

Pomiar wykonywany jest na pełnym białym obrazie, oświetlenie ekranu mierzone jest luksomierzem w luksach w 9 punktach kontrolnych ekranu. Wartość strumienia świetlnego jest obliczana jako średnia z tych 9 pomiarów - pomnożona przez jego powierzchnię i uśredniona.

Wynikowa energia świetlna na ekranie dla każdego metra kwadratowego jest wyrażona w luksach i jest obliczana ze wzoru: luks = lumen / m². Jednak pomiar lumenów / luksów różni się w zależności od środowiska, konfiguracji osprzętu i wyświetlanego obrazu, dlatego obecnie standardem jest określanie użytecznego strumienia świetlnego w lumenach ANSI.

Pomiar ten pozwala ocenić równomierność rozkładu strumienia świetlnego na powierzchni ekranu. Zmniejszenie jasności obrazu wokół jego krawędzi nazywa się „gorącym punktem” lub plamą światła. Równomierność rozkładu strumienia świetlnego oblicza się jako stosunek najmniejszego do największego z uzyskanych pomiarów natężenia oświetlenia. W dobrych projektorach ta wartość nie spada poniżej 70%.

Ta technika dokładnie opisuje kolejność wykonywania pomiarów. W ściśle określonych warunkach środowiskowych i ustawieniach urządzenia wyświetlany obraz na ekranie jest podzielony przez dziewięć równe części, aw każdym z nich określana jest energia świetlna. Średnia wszystkich dziewięciu pomiarów pomnożona przez powierzchnię ekranu w m² daje wartość lumenów ANSI.

Co ciekawe, strumień świetlny, w przeciwieństwie do oświetlenia (mierzonego w lumenach ANSI), nie zależy od rzutowanego obszaru. Ponadto lumeny ANSI specyficzne dla producenta są często przywoływane jako odniesienie maksymalne ustawienia które są rzadko stosowane w praktyce.

Ponadto lumeny ANSI są często tylko wartościami średnimi, co utrudnia stwierdzenie, jak dobrze lub słabo rozprowadza światło na powierzchni ekranu.

ANSI lumenów dla projektorów cyfrowych może wynosić od 900 ANSI lumenów dla starszych modeli do 4700 ANSI lumenów dla dzisiejszych urządzeń o dużej mocy. Dobry projektor cyfrowego kina domowego powinien mieć około 2000 ANSI lumenów.

Reg.ru: domeny i hosting

Największy rejestrator i dostawca hostingu w Rosji.

Ponad 2 miliony nazw domen w serwisie.

Promocja, poczta dla domeny, rozwiązania biznesowe.

Już ponad 700 tysięcy klientów na całym świecie dokonało wyboru.

* Najedź myszą, aby wstrzymać przewijanie.

Wstecz do przodu

Kodowanie: przydatne informacje i krótka retrospektywa

Postanowiłem napisać ten artykuł jako mały przegląd problematyki kodowania.

Dowiemy się, jakie jest kodowanie w ogóle i dotkniemy historii tego, jak w zasadzie się pojawiły.

Porozmawiamy o niektórych ich funkcjach, a także rozważymy momenty, które pozwalają nam bardziej świadomie pracować z kodowaniami i unikać pojawiania się na stronie tzw. krakozyabrowa, tj. nieczytelne znaki.

Więc chodźmy ...

Co to jest kodowanie?

Mówiąc prosto, kodowanie to tabela odwzorowań znaków, które możemy zobaczyć na ekranie, na określone kody numeryczne.

Te. każdy znak, który wprowadzimy z klawiatury lub zobaczymy na ekranie monitora, jest zakodowany pewną sekwencją bitów (zer i jedynek). 8 bitów, jak zapewne wiesz, to 1 bajt informacji, ale o tym później.

Wygląd samych symboli zależy od plików czcionek które są zainstalowane na twoim komputerze. Dlatego proces wyświetlania tekstu na ekranie można opisać jako ciągłe mapowanie ciągów zer i jedynek na określone znaki, które składają się na czcionkę.

Można uznać za protoplastę wszystkich nowoczesnych kodowań ASCII.

Ten skrót oznacza Amerykański standardowy kod wymiany informacji(American Standard Coding Table dla znaków drukowalnych i niektórych kodów specjalnych).

to kodowanie jednobajtowe, który początkowo zawierał tylko 128 znaków: litery alfabetu łacińskiego, cyfry arabskie itp.


Później został rozszerzony (początkowo nie wykorzystywał wszystkich 8 bitów), dzięki czemu stało się możliwe użycie nie 128, ale 256 (2 do ósmej potęgi) różnych znaków, które można zakodować w jednym bajcie informacji.

To ulepszenie umożliwiło dodanie do ASCII symbole języków narodowych, oprócz już istniejącego alfabetu łacińskiego.

Istnieje wiele opcji rozszerzonego kodowania ASCII ze względu na fakt, że na świecie istnieje również wiele języków. Myślę, że wielu z Was słyszało o takim kodowaniu jak KOI8-R to także rozszerzone kodowanie ASCII przeznaczony do pracy z postaciami języka rosyjskiego.

Kolejny krok w rozwoju kodowań można uznać za pojawienie się tzw kodowania ANSI.

W rzeczywistości były takie same rozszerzone wersje ASCII usunięto z nich jednak różne elementy pseudograficzne i dodano symbole typograficzne, dla których wcześniej nie było wystarczającej ilości „wolnego miejsca”.

Przykładem takiego kodowania ANSI jest dobrze znany Okna-1251... Oprócz znaków typograficznych kodowanie to zawierało również litery alfabetów języków zbliżonych do rosyjskiego (ukraiński, białoruski, serbski, macedoński i bułgarski).


Kodowanie ANSI to nazwa zbiorowa... W rzeczywistości rzeczywiste kodowanie podczas korzystania z ANSI będzie określone przez to, co jest określone w rejestrze systemu operacyjnego. Systemy Windows... W przypadku języka rosyjskiego będzie to Windows-1251, natomiast dla innych języków będzie to inny rodzaj ANSI.

Jak rozumiesz garść kodowań i brak jednego standardu nie przyniosły szczęścia, co stało się powodem częstych spotkań z tzw. krakozyabrami- nieczytelny, bezsensowny zestaw znaków.

Powód ich pojawienia się jest prosty – tak jest próba wyświetlenia znaków zakodowanych w jednej tabeli kodowania przy użyciu innej tabeli kodowania.

W kontekście tworzenia stron internetowych możemy spotkać się z krakozyabami, gdy np. Tekst rosyjski jest omyłkowo zapisany w złym kodowaniu używanym na serwerze.

Oczywiście nie jest to jedyny przypadek, w którym możemy uzyskać nieczytelny tekst - opcji jest tu bardzo dużo, zwłaszcza biorąc pod uwagę, że istnieje również baza danych, w której informacje są również przechowywane w określonym kodowaniu, jest mapowanie połączenie z bazą danych itp.

Pojawienie się wszystkich tych problemów stało się bodźcem do stworzenia czegoś nowego. Musiało to być kodowanie, które potrafiłoby zakodować dowolny język na świecie (wszak przy pomocy jednobajtowych kodowań, w ogóle nie można opisać wszystkich znaków, powiedzmy, chiński, gdzie wyraźnie jest ich więcej niż 256), wszelkie dodatkowe znaki specjalne i typografię.

Krótko mówiąc, trzeba było stworzyć uniwersalne kodowanie, które raz na zawsze rozwiązałoby problem krakozyabrowa.

Unicode — uniwersalne kodowanie tekstu (UTF-32, UTF-16 i UTF-8)

Sam standard został zaproponowany w 1991 roku przez organizację non-profit Konsorcjum Unicode(Unicode Consortium, Unicode Inc.), a pierwszym efektem jego pracy było stworzenie kodowania UTF-32.

Nawiasem mówiąc, sam skrót UTF oznacza Format transformacji Unicode(Format konwersji Unicode).

W tym kodowaniu, aby zakodować jeden znak, należało użyć jak najwięcej 32-bitowy, tj. 4 bajty informacji. Jeśli porównamy tę liczbę z kodowaniami jednobajtowymi, dojdziemy do prostego wniosku: aby zakodować 1 znak w tym uniwersalnym kodowaniu, potrzebujesz 4 razy więcej bitów, co sprawia, że ​​plik jest 4 razy cięższy.

Oczywiste jest również, że liczba znaków, które potencjalnie można opisać za pomocą tego kodowania, przekracza wszelkie rozsądne granice i jest technicznie ograniczona do liczby równej 2 do 32 potęgi. Oczywiste jest, że była to wyraźna przesada i marnotrawstwo pod względem wagi plików, więc to kodowanie nie stało się powszechne.

Został zastąpiony przez nowy rozwój - UTF-16.

Jak sama nazwa wskazuje, w tym kodowaniu zakodowany jest jeden znak już nie 32 bity, ale tylko 16(tj. 2 bajty). Oczywiście sprawia to, że każdy znak jest dwa razy „lżejszy” niż w UTF-32, ale także dwa razy „cięższy” niż dowolny znak zakodowany przy użyciu kodowania jednobajtowego.

Liczba znaków dostępnych do zakodowania w UTF-16 wynosi co najmniej 2 do potęgi 16, tj. 65536 znaków. Wszystko wydaje się być w porządku, poza tym ostateczny rozmiar przestrzeni kodu w UTF-16 został rozszerzony do ponad 1 miliona znaków.

Jednak to kodowanie nie w pełni zaspokajało potrzeby programistów. Na przykład, jeśli piszesz wyłącznie za pomocą znaków łacińskich, to po przełączeniu z rozszerzonej wersji kodowania ASCII na UTF-16 waga każdego pliku podwoiła się.

W rezultacie, podjęto kolejną próbę stworzenia czegoś uniwersalnego i tym czymś jest dobrze znane kodowanie UTF-8.

UTF-8- to jest kodowanie wielobajtowe ze zmienną długością znaków... Patrząc na nazwę, możesz pomyśleć, przez analogię do UTF-32 i UTF-16, że 8 bitów jest używanych do kodowania jednego znaku, ale tak nie jest. Dokładniej, nie do końca.

Dzieje się tak, ponieważ UTF-8 zapewnia najlepszą kompatybilność ze starszymi systemami, które używały znaków 8-bitowych. Do zakodowania jednego znaku w UTF-8 jest faktycznie używany od 1 do 4 bajtów(hipotetycznie możliwe jest do 6 bajtów).

W UTF-8 wszystkie znaki łacińskie są zakodowane w 8 bitach, tak jak w kodowaniu ASCII... Innymi słowy, podstawowa część kodowania ASCII (128 znaków) została przeniesiona na UTF-8, co pozwala na „wydanie” tylko 1 bajta na ich reprezentację, przy zachowaniu uniwersalności kodowania, dla którego wszystko zostało uruchomione.

Tak więc, jeśli pierwsze 128 znaków jest zakodowanych z 1 bajtem, wszystkie inne znaki są zakodowane z 2 lub więcej bajtami. W szczególności każdy znak cyrylicy jest zakodowany z dokładnie 2 bajtami.

W ten sposób otrzymaliśmy uniwersalne kodowanie, które pozwala nam pokryć wszystkie możliwe znaki, które muszą zostać wyświetlone, bez niepotrzebnego „dociążania” plików.

Z BOM-em czy bez?

Jeśli pracowałeś z edytory tekstu(edytorzy kodu) jak Notatnik ++, phpDesigner, szybki php itp., zapewne zwróciłeś uwagę na to, że określając kodowanie, w jakim zostanie utworzona strona, możesz wybrać co do zasady 3 opcje:

ANSI
- UTF-8
- UTF-8 bez BOM


Muszę od razu powiedzieć, że zawsze jest to ostatnia opcja, którą warto wybrać - UTF-8 bez BOM.

Czym więc jest BOM i dlaczego go nie potrzebujemy?

BOM oznacza Oznaczenie kolejności bajtów... Jest to specjalny znak Unicode używany do wskazania kolejności bajtów. plik tekstowy... Zgodnie ze specyfikacją jego użycie jest opcjonalne, ale jeśli BOM jest używany, to musi być ustawiony na początku pliku tekstowego.

Nie będziemy wchodzić w szczegóły pracy. BOM... Dla nas główny wniosek jest następujący: użycie tego znaku serwisowego razem z UTF-8 uniemożliwia programom normalne odczytywanie kodowania, w wyniku czego pojawiają się błędy w pracy skryptów.