ISO/IEC 646 - ISO/IEC 646
Standard | ISO/IEC 646, ITU T.50 |
---|---|
Klasyfikacja | 7-bitowe kodowanie Basic Latin |
Poprzedzony | US-ASCII |
zastąpiony przez | ISO 8859 , ISO 10646 |
Inne powiązane kodowanie(-a) |
DEC NRCS , World System Teletext Adaptacje do innych alfabetów : ELOT 927 , Symbol , KOI-7 , SRPSCII i MAKSCII , ASMO 449 , SI 960 |
ISO/IEC 646 to nazwa zbioru norm ISO , opisanych jako Technologia informacyjna — 7-bitowy kodowany zestaw znaków ISO do wymiany informacji i rozwijany we współpracy z ASCII co najmniej od 1964 roku. Od pierwszego wydania w 1967 roku określa 7- bitowy kod znakowy, z którego wywodzi się kilka standardów krajowych.
ISO/IEC 646 została również ratyfikowana przez ECMA jako ECMA-6 . Pierwsza wersja ECMA-6 została opublikowana w 1965 roku na podstawie prac Komitetu Technicznego TC1 ECMA przeprowadzonych od grudnia 1960 roku.
Znaki w podstawowym zestawie znaków ISO/IEC 646 są znakami niezmiennymi . Ponieważ ta część ISO/IEC 646, czyli niezmienny zestaw znaków wspólny dla wszystkich krajów, określiła tylko te litery używane w podstawowym alfabecie łacińskim ISO , kraje używające dodatkowych liter potrzebnych do stworzenia krajowych wariantów ISO 646, aby móc używać ich skrypty natywne. Ponieważ transmisja i przechowywanie 8-bitowych kodów nie było wówczas standardem, znaki narodowe musiały być dostosowane do ograniczeń 7-bitowych, co oznacza, że niektóre znaki pojawiające się w ASCII nie pojawiają się w innych narodowych wariantach ISO 646 .
Historia
Norma ISO/IEC 646 i jej poprzednik ASCII ( ASA X3.4 ) w dużej mierze poparły istniejącą praktykę dotyczącą kodowania znaków w branży telekomunikacyjnej .
Ponieważ ASCII nie zawierał liczby znaków potrzebnych dla języków innych niż angielski, wprowadzono szereg wariantów narodowych, które zastąpiły niektóre rzadziej używane znaki potrzebnymi. Ze względu na niekompatybilność różnych wariantów krajowych wprowadzono Międzynarodową Wersję Referencyjną (IRV) normy ISO/IEC 646, próbując przynajmniej ograniczyć zastępowany zestaw do tych samych znaków we wszystkich wariantach. Oryginalna wersja (ISO 646 IRV) różniła się od ASCII tylko tym, że punkt kodowy 0x24, znak dolara ASCII ($) został zastąpiony międzynarodowym symbolem waluty (¤). Ostateczna wersja kodu ISO 646:1991 z 1991 roku jest również znana jako ITU T.50 , Międzynarodowy Alfabet Referencyjny lub IRA, dawniej Międzynarodowy Alfabet nr 5 (IA5). Standard ten umożliwia użytkownikom korzystanie z 12 znaków zmiennych (tj. dwóch alternatywnych znaków graficznych i 10 znaków zdefiniowanych na poziomie krajowym). Wśród tych ćwiczeń, ISO 646:1991 IRV (International Reference Version) jest wyraźnie zdefiniowana i identyczna z ASCII .
Seria norm ISO 8859 regulujących 8-bitowe kodowanie znaków zastępuje międzynarodową normę ISO 646 i jej krajowe warianty, zapewniając 96 dodatkowych znaków z dodatkowym bitem i unikając w ten sposób zastępowania kodów ASCII. Standard ISO 10646 , bezpośrednio związany z Unicode , zastępuje wszystkie zestawy ISO 646 i ISO 8859 jednym ujednoliconym zestawem kodowań znaków przy użyciu większej wartości 21-bitowej.
Spuścizna ISO/IEC 646 jest widoczna w systemie Windows, gdzie w wielu lokalizacjach wschodnioazjatyckich znak odwrotnego ukośnika używany w nazwach plików jest renderowany jako ¥ lub inne znaki, takie jak ₩ . Pomimo faktu, że inny kod dla ¥ był dostępny nawet na oryginalnej stronie kodowej IBM PC 437 , a osobny dwubajtowy kod dla ¥ jest dostępny w Shift JIS (chociaż często używa alternatywnego mapowania ), tak wiele tekstu zostało utworzone za pomocą kod odwrotnego ukośnika użyty dla ¥ (ponieważ Shift_JIS jest oficjalnie oparty na ISO 646:JP, chociaż Microsoft mapuje go jako ASCII), że nawet współczesne czcionki Windows uznały za konieczne renderowanie kodu w ten sposób. Podobna sytuacja istnieje w przypadku ₩ i EUC-KR . Innym dziedzictwem jest istnienie trójznaków w języku programowania C .
Opublikowane standardy
- ISO/R646-1967
- ISO 646:1972
- ISO 646: 1983
- ISO/IEC 646:1991
- ECMA-6 (1965-04-30), wydanie pierwsze
- ECMA-6 (1967-06), wydanie drugie
- ECMA-6 (1970-07), wydanie trzecie
- ECMA-6 (1973-08), wydanie czwarte
- ECMA-6 (1984-12, 1985-03), wydanie piąte
- ECMA-6 (1991-12, 1997-08), wydanie szóste
Układ strony kodowej
Poniższa tabela przedstawia niezmienny zestaw znaków ISO/IEC 646. Każdy znak jest wyświetlany z kodem szesnastkowym jego odpowiednika w Unicode . Krajowe punkty kodowe są szare z zastąpionym znakiem ASCII. Ciężki prostokąt oznacza znak, który w niektórych regionach może być połączony z poprzednim znakiem jako znak diakrytyczny za pomocą znaku cofania , co może wpływać na wybór glifu .
Oprócz ograniczeń zestawu niezmiennego, 0x23 jest ograniczone do # lub £, a 0x24 jest ograniczone do $ lub ¤ w ECMA-6:1991, równoważne ISO 646:1991. Jednak te ograniczenia nie są przestrzegane we wszystkich wariantach krajowych.
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _MI | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
NUL 0000 |
SOH 0001 |
STX 0002 |
ETX 0003 |
EOT 0004 |
ENQ 0005 |
ACK 0006 |
BEL 0007 |
BS 0008 |
HT 0009 |
LF 000A |
VT 000B |
FF 000C |
CR 000D |
SO 000E |
SI 000F |
1_ 16 |
DLE 0010 |
DC1 0011 |
DC2 0012 |
DC3 0013 |
DC4 0014 |
NAK 0015 |
SYN 0016 |
ETB 0017 |
MOŻE 0018 |
EM 0019 |
SUB 001A |
ESC 001B |
FS 001C |
GS 001D |
RS 001E |
USA 001F |
2_ 32 |
SP 0020 |
! 0021 |
„ 0022 |
# |
$ |
% 0025 |
& 0026 |
' 0027 |
( 0028 |
) 0029 |
* 002A |
+ 002B |
, 002C |
- 002D |
. 002E |
/ 002F |
3_ 48 |
0 0030 |
1 0031 |
2 0032 |
3 0033 |
4 0034 |
5 0035 |
6 0036 |
7 0037 |
8 0038 |
9 0039 |
: 003A |
; 003B |
< 003C |
= 003D |
> 003E |
? 003F |
4_ 64 |
@ |
0041 |
B 0042 |
C 0043 |
D 0044 |
E 0045 |
F 0046 |
G 0047 |
H 0048 |
I 0049 |
J 004A |
K 004B |
L 004C |
M 004D |
N 004E |
O 004F |
5_ 80 |
P 0050 |
P 0051 |
R 0052 |
S 0053 |
T 0054 |
U 0055 |
V 0056 |
W 0057 |
X 0058 |
Tak 0059 |
Z 005A |
[ |
\ |
] |
^ |
_ 005F |
6_ 96 |
` |
0061 |
b 0062 |
c 0063 |
d 0064 |
e 0065 |
f 0066 |
g 0067 |
h 0068 |
I 0069 |
j 006A |
k 006B |
L 006C |
m 006D |
n 006E |
o 006F |
7_ 112 |
p 0070 |
q 0071 |
R 0072 |
s 0073 |
t 0.074 |
U 0075 |
v 0076 |
w 0077 |
x 0078 |
y 0079 |
z 007A |
{ |
| |
} |
~ |
DEL 007F |
List Numer Interpunkcja Symbol Inne Nieokreślony
Powiązane rodziny kodowania
Narodowy zestaw znaków zastępczych
Narodowy Replacement Character Set ( NRCS ) to rodzina 7-bitowe kodowanie wprowadzonych w 1983 roku przez DEC z VT200 serii terminali komputerowych. Jest blisko spokrewniony z ISO 646, oparty na podobnym niezmiennym podzbiorze ASCII, różniącym się zachowaniem $
jako niezmienniczym, ale nie _
(chociaż większość wariantów NRCS zachowuje _
, a zatem jest zgodna ze zbiorem niezmienniczym ISO 646). Większość wariantów NRCS jest ściśle powiązana z odpowiednimi krajowymi wariantami ISO 646 tam, gdzie istnieją, z wyjątkiem wariantu holenderskiego .
Teletekst systemu światowego
The European Telecommunications standardem ETS 300 706, „Enhanced specyfikacja teletekstu” definiuje łacińskiego, greckiego, cyrylicy, arabskim i hebrajskim zestawy kodu z kilku krajowych wariantów zarówno łacińskiego i cyrylicy. Podobnie jak NRCS i ISO 646, w wariantach łacińskich, rodzina kodowań znana jako zestaw G0 opiera się na podobnym niezmiennym podzbiorze ASCII, ale nie zachowuje ani $
ani _
jako niezmienniczy. W przeciwieństwie do NRCS, warianty często znacznie różnią się od odpowiednich krajowych wariantów ISO 646.
Kody i opisy wariantów
Warianty krajowe ISO 646
Niektóre krajowe warianty ISO 646 są następujące:
Kod | ISO-IR | ISO ESC | Zatwierdzony | Norma krajowa | Opis |
---|---|---|---|---|---|
CA | 121 | ESC 2/8 7/7 | ISO 646 | CSA Z243.4-1985-1 |
Kanada (alternatywa nr 1, z "î") ( francuski , klasyczna) ( strona kodowa 1020 ) |
CA2 | 122 | ESC 2/8 7/8 | ISO 646 | CSA Z243.4-1985-2 |
Kanada (nr 2 alternatywa, z „É”) ( francuski , zreformowana ortografia) |
CN | 57 | ESC 2/8 5/4 | ? | GB/T 1988-80 | Chińska Republika Ludowa (podstawowa łacina) |
CU | 151 | ESC 2/8 2/1 4/1 | ISO 646 | NC 99-10:81 / NC NC00-10:81 | Kuba ( hiszpański ) |
DANO | 9-1 | ESC 2/8 4/5 | SIS ? | NATS-DANO |
Norwegia i Dania (teksty dziennikarskie). Niezmienny punkt kodowy 0x22 jest wyświetlany jako « , (porównaj " w IRV). Jest jednak nadal uważany za podwójny cudzysłów. Towarzyszy SEFI (NATS-SEFI).
|
DE | 21 | ESC 2/8 4/11 | ISO 646 | DIN 66003 | Niemcy ( niemiecki ) ( strona kodowa 1011 , 20106 ) |
DK | — | ? | DS 2089 | Dania ( duński ) ( strona kodowa 1017 ) | |
ES | 17 | ESC 2/8 5/10 | ECMA | Olivetti | Hiszpański (międzynarodowy) ( Strona kodowa 1023 ) |
ES2 | 85 | ESC 2/8 6/8 | ECMA | IBM | Hiszpania ( baskijski , kastylijski , kataloński , galicyjski ) ( strona kodowa 1014 ) |
FI | 10 | ISO 646 | SFS 4017 | Finlandia (wersja podstawowa) ( strona kodowa 1018 ) | |
FR | 69 | ESC 2/8 6/6 | ISO 646 | AFNOR NF Z 62010-1982 | Francja ( francuski ) ( strona kodowa 1010 ) |
FR1 | 25 | ESC 2/8 5/2 | ISO 646 | AFNOR NF Z 62010-1973 | Francja (przestarzałe od kwietnia 1985) ( strona kodowa 1104 ) |
GB | 4 | ESC 2/8 4/1 | ISO 646 | BS 4730 | Wielka Brytania ( angielski ) ( strona kodowa 1013 ) |
HU | 86 | ESC 2/8 6/9 | ISO 646 | MSZ 7795/3 | Węgry ( węgierski ) |
TJ | 207 | ? | NSAI 433:1996 | Irlandia ( irlandzki ) | |
INV | 170 | ESC 2/8 2/1 4/2 | ISO 646 | ISO 646: 1983 | Niezmienny podzbiór |
(IRV) | 2 | ESC 2/8 4/0 | ISO 646 | ISO 646:1973 | Międzynarodowa wersja referencyjna. 0x7E jako nadkreślenie (ISO-IR-002). |
? | ? | ISO 646 | ISO 646: 1983 | Międzynarodowa wersja referencyjna. 0x7E jako tylda ( strona kodowa 1009 , 20105 ). | |
Międzynarodowa wersja referencyjna ISO 646:1991 odpowiada wersji amerykańskiej (patrz poniżej). | |||||
JEST | ? | ? | ? | Islandia ( islandzki ) | |
TO | 15 | ESC 2/8 5/9 | ECMA | UNI 0204-70 / Olivetti ? | włoski ( strona kodowa 1012 ) |
JP | 14 | ESC 2/8 4/10 | ISO 646 | JIS C 6220:1969-ro | Japonia ( Romaji ) ( strona kodowa 895 ). Używany również jako 8-bitowy kod z odpowiednim zestawem dodatkowym Katakana . |
JP-OCR-B | 92 | ESC 2/8 6/14 | ISO 646 | JIS C 6229-1984-b | Japonia ( OCR- B) |
KR | — | ? | KS C 5636-1989 | Korea Południowa | |
MT | — | ? | ? | Malta ( maltański , angielski ) | |
Holandia | — | ECMA | IBM | Holandia ( holenderski ) ( strona kodowa 1019 ) | |
NIE | 60 | ESC 2/8 6/0 | ISO 646 | NS 4551 wersja 1 | Norwegia ( Strona kodowa 1016 ) |
NO2 | 61 | ESC 2/8 6/1 | ISO 646 | NS 4551 wersja 2 | Norwegia (przestarzałe od czerwca 1987) ( Strona kodowa 20108 ) |
pl | — | BN-74/3101-01 | Polska (polski ma 18 liter ze znakami diakrytycznymi, ale tylko 9 małych liter jest znormalizowanych ze względu na przestrzeń kodową. | ||
PT | 16 | ESC 2/8 4/12 | ECMA | Olivetti | portugalski (międzynarodowy) |
PT2 | 84 | ESC 2/8 6/7 | ECMA | IBM | Portugalia ( portugalski , hiszpański ) ( strona kodowa 1015 |
SE | 10 | ESC 2/8 4/7 | ISO 646 | SEN 850200 Załącznik B, SIS 63 61 27 | Szwecja (podstawowy szwedzki ) ( strona kodowa 1018 , D47) |
SE2 | 11 | ESC 2/8 4/8 | ISO 646 | SEN 850200 Załącznik C, SIS 63 61 27 | Szwecja (rozszerzony szwedzki dla nazw) ( strona kodowa 20107 , E47) |
SEFI | 8-1 | ESC 2/8 4/3 | SIS | NATS-SEFI | Szwecja i Finlandia (teksty dziennikarskie). Towarzyszy DANO (NATS-DANO). |
T.61-7bit | 102 | ESC 2/8 7/5 | ? | Zalecenie ITU / CCITT T.61 | Międzynarodowy ( Teletex ). Używany również z odpowiednim zestawem dodatkowym jako kod 8-bitowy. |
TW | — | ? | CNS 5205-1996 | Republika Chińska ( Tajwan ) | |
USA / (IRV) | 6 | ESC 2/8 4/2 | ISO 646 | ANSI X3.4-1968 i ISO 646:1983 (również IRV w ISO/IEC 646:1991) | Stany Zjednoczone ( ASCII , strona kodowa 367 , 20127 ) |
YU | 141 | ESC 2/8 7/10 | ISO 646 | JUS I.B1.002 ( JUSCII ) | była Jugosławia ( chorwacki , słoweński , serbski , bośniacki ) |
INIS | 49 | ESC 2/8 5/7 | MAEA | INIS | Podzbiór ISO 646 IRV |
Krajowe instrumenty pochodne
Istnieją również pewne zestawy znaków narodowych, które są oparte na ISO 646, ale nie są ściśle zgodne z zestawem niezmienniczym (patrz także § Pochodne dla innych alfabetów ):
Zestaw znaków | ISO-IR | ISO ESC | Zatwierdzony | Norma krajowa | Opis |
---|---|---|---|---|---|
BS_viewdata | 47 | ESC 2/8 5/6 | Poczta brytyjska | Przeglądanie danych i teletekst . Kwadrat widoku danych (⌗) zastąpiono zwykle niezmiennym podkreśleniem (_), którego nie można wyświetlić na docelowym sprzęcie. To jest właściwie kodowanie WST_Engl Microsoftu. | |
GR / grecki7 | 88 | ESC 2/8 6/10 | ? | HOS ELOT 927 | Grecja (wycofany w listopadzie 1986). Używa liter greckich zamiast rzymskich, a zatem nie jest ściśle mówiąc wariantem ISO 646. |
grecki 7-stary | 18 | ESC 2/8 5/11 | ECMA | ? | Grecki zestaw graficzny. Podobny w koncepcji do greckiego7 , ale używa innego odwzorowania liter. Również wielkie litery podążają za małymi literami. |
łacińsko-grecki | 19 | ESC 2/8 5/12 | ECMA | ? | Połączona grafika łacińsko-grecka (tylko wielkimi literami). Podąża za greką7-starą , ale zawiera łacińskie wielkie litery bez modyfikacji, a greckie wielkie litery nad łacińskimi małymi literami. |
łacińsko-grecki-1 | 27 | ESC 2/8 5/5 | ECMA | Honeywell-Bull | Mieszana grafika łacińsko-grecka (tylko greckie litery). Wizualnie ujednolica greckie stolice z łacińskimi, jeśli to możliwe, i dodaje pozostałe greckie stolice. W przeciwieństwie do innych wersji greckich, wszystkie podstawowe litery łacińskie pozostają nienaruszone. Zastępuje jednak niezmienną interpunkcję oraz znaki narodowe, a zatem nadal nie jest ściśle mówiąc wariantem ISO 646. |
szwajcarski | — | ECMA | Olivetti |
Szwajcaria ( francuski , niemiecki ) ( strona kodowa 1021 ) Niezmienny punkt kodowy 0x5F został zmieniony z _ na è . Jest odmianą DEC NRCS , blisko spokrewnioną z ISO 646, ale brakuje jej w pełni zgodnego z ISO 646 odpowiednika.
|
Postacie kontrolne
Wszystkie wymienione powyżej warianty są wyłącznie zestawami znaków graficznych i mają być używane z zestawem znaków sterujących C0, takim jak wymieniono w poniższej tabeli:
ISO-IR | ISO ESC | Zatwierdzony | Opis |
---|---|---|---|
1 | ESC 2/1 4/0 | ISO 646 | Kontrolki ISO 646 ("Kontrolki ASCII") |
7 | ESC 2/1 4/1 | ISO 646 | Kontrola gazety skandynawskiej (NATS) |
26 | ESC 2/1 4/3 | ISO 646 | Kontrola IPTC |
Powiązane dodatkowe zestawy znaków
Poniższa tabela zawiera dodatkowe zestawy znaków graficznych zdefiniowane w tej samej normie, co określone warianty ISO 646. Zostałyby one wybrane za pomocą mechanizmu takiego jak shift out lub super shift NATS (single shift) lub przez ustawienie ósmego bitu w środowiskach, w których jeden był dostępny:
ISO-IR | ISO ESC | Norma krajowa | Opis |
---|---|---|---|
8-2 | ESC 2/8 4/4 | NATS-SEFI-ADD | Dodatkowy kod używany z NATS-SEFI. |
9-2 | ESC 2/8 4/6 | NATS-DANO-ADD | Dodatkowy kod używany z NATS-DANO. |
13 | ESC 2/8 4/9 | JIS C 6220:1969-jp | Katakana , używany jako kod uzupełniający w ISO-646-JP. |
103 | ESC 2/8 7/6 | Zalecenie ITU / CCITT T.61 , zestaw uzupełniający | Kod dodatkowy używany z T.61. |
Tabela porównawcza wariantów
Specyfikę zmian dla niektórych z tych wariantów podano w poniższej tabeli. Przypisania znaków niezmienione we wszystkich wymienionych wariantach (tj. które pozostają takie same jak ASCII) nie są wyświetlane.
Dla ułatwienia porównania, wyszczególnione warianty obejmują krajowe warianty ISO 646, ściśle powiązane serie zestawów znaków zastępczych (NRCS) firmy DEC używane w terminalach VT200 , pokrewne serie kodowania teletekstu europejskiego systemu światowego zdefiniowane w ETS 300 706 i kilka innych ściśle powiązanych kodowania oparte na ISO 646. Poszczególne wykresy kodów są połączone z drugiej kolumny. Komórki z niebiałym tłem podkreślają różnice w stosunku do US-ASCII (również podzbiór Basic Latin normy ISO/IEC 10646 i Unicode).
Kilka znaków może być użytych do łączenia znaków , poprzedzonych lub poprzedzonych kontrolką Backspace C0 . Jest to potwierdzone na wykresach kodowych dla IRV, GB, FR1, CA i CA2, które zauważają, że "',^
zachowują się jak diaeresis , ostrym akcentem , haczykiem i okalającej (zamiast cudzysłowów , a przecinkiem i górę grot ), gdy poprzedza lub następuje przez backspace. Podobnie wprowadzono znak tyldy (~) jako znak diakrytyczny (˜). Ta metoda kodowania wywodzi się z ery maszyn do pisania i dalekopisu , kiedy użycie backspace spowodowałoby nadpisanie glifu i może być uważana za przestarzałą .
Później, gdy szersze zestawy znaków zyskały większą akceptację, ISO 8859 , zestawy znaków specyficzne dla dostawcy i ostatecznie Unicode stały się preferowanymi metodami kodowania większości tych wariantów.
Kod wariantu | Wykres kodów | Znaki dla każdego zgodnego lub pochodnego zestawu znaków zgodnego z ISO 646/NRCS | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
USA / IRV (1991) | ISO-IR-006 | ! | " | # | $ | & | : | ? | @ | [ | \ | ] | ^ | _ | ` | { | | | } | ~ |
Starsze międzynarodowe wersje referencyjne | |||||||||||||||||||
IRV (1973) | ISO-IR-002 | ! | " | # | ¤ | & | : | ? | @ | [ | \ | ] | ^ | _ | ` | { | | | } | ? |
IRV (1983) | CP01009 | ! | " | # | ¤ | & | : | ? | @ | [ | \ | ] | ^ | _ | ` | { | | | } | ~ |
Niezmiennicze i inne podzbiory IRV | |||||||||||||||||||
INV | ISO-IR-170 | ! | " | & | : | ? | _ | ||||||||||||
INV ( NRCS ) | --- | ! | " | $ | & | : | ? | ||||||||||||
INV ( teletekst ) | ETS WST | ! | " | & | : | ? | |||||||||||||
Podzbiór INIS | ISO-IR-049 | $ | : | [ | ] | | | |||||||||||||
T.61 | ISO-IR-102 | ! | " | # | ¤ | & | : | ? | @ | [ | ] | _ | | | ||||||
Azji Wschodniej | |||||||||||||||||||
JP | ISO-IR-014 | ! | " | # | $ | & | : | ? | @ | [ | ¥ | ] | ^ | _ | ` | { | | | } | ? |
JP-OCR-B | ISO-IR-092 | ! | " | # | $ | & | : | ? | @ | [ | ¥ | ] | ^ | _ | { | | | } | ||
KR | (KS X 1003) | ! | " | # | $ | & | : | ? | @ | [ | ₩ | ] | ^ | _ | ` | { | | | } | ? |
CN | ISO-IR-057 | ! | " | # | ¥ | & | : | ? | @ | [ | \ | ] | ^ | _ | ` | { | | | } | ? |
TW | (CNS 5205) | ! | " | # | $ | & | : | ? | @ | [ | \ | ] | ^ | _ | ` | { | | | } | ? |
brytyjska i irlandzka | |||||||||||||||||||
GB | ISO-IR-004 | ! | " | £ | $ | & | : | ? | @ | [ | \ | ] | ^ | _ | ` | { | | | } | ? |
GB ( NRCS ) | CP01101 | ! | " | £ | $ | & | : | ? | @ | [ | \ | ] | ^ | _ | ` | { | | | } | ~ |
Wyświetl dane | ISO-IR-047 | ! | " | £ | $ | & | : | ? | @ | ← | ½ | → | ↑ | ⌗ | ja | ¼ | ? | ¾ | ÷ |
TJ | ISO-IR-207 | ! | " | £ | $ | & | : | ? | Ó | MI | I | Ú | A | _ | ó | mi | i | ú | a |
Italophone lub frankofoński | |||||||||||||||||||
TO | ISO-IR-015 | ! | " | £ | $ | & | : | ? | § | ° | C | mi | ^ | _ | ù | a | ò | mi | i |
IT ( teletekst ) | ETS WST | ! | " | £ | $ | & | : | ? | mi | ° | C | → | ↑ | ⌗ | ù | a | ò | mi | i |
FR (1983) | ISO-IR-069 | ! | " | £ | $ | & | : | ? | a | ° | C | § | ^ | _ | µ | mi | ù | mi | ¨ |
FR (1973) | ISO-IR-025 | ! | " | £ | $ | & | : | ? | a | ° | C | § | ^ | _ | ` | mi | ù | mi | ¨ |
Teletekst FR | ETS WST | ! | " | mi | i | & | : | ? | a | mi | mi | ù | i | ⌗ | mi | a | ô | û | C |
CA | ISO-IR-121 | ! | " | # | $ | & | : | ? | a | a | C | mi | i | _ | ô | mi | ù | mi | û |
CA2 | ISO-IR-122 | ! | " | # | $ | & | : | ? | a | a | C | mi | MI | _ | ô | mi | ù | mi | û |
Francusko-germański | |||||||||||||||||||
szwajcaria ( NRCS ) | CP01021 | ! | " | ù | $ | & | : | ? | a | mi | C | mi | i | mi | ô | a | ö | ü | û |
niemiecki | |||||||||||||||||||
DE | ISO-IR-021 | ! | " | # | $ | & | : | ? | § | A | Ö | Ü | ^ | _ | ` | a | ö | ü | SS |
nordyckie (wschodnie) i bałtyckie | |||||||||||||||||||
FI / SE | ISO-IR-010 | ! | " | # | ¤ | & | : | ? | @ | A | Ö | A | ^ | _ | ` | a | ö | a | ? |
SE2 | ISO-IR-011 | ! | " | # | ¤ | & | : | ? | MI | A | Ö | A | Ü | _ | mi | a | ö | a | ü |
SE ( NRCS ) | CP01106 | ! | " | # | $ | & | : | ? | MI | A | Ö | A | Ü | _ | mi | a | ö | a | ü |
FI ( NRCS ) | CP01103 | ! | " | # | $ | & | : | ? | @ | A | Ö | A | Ü | _ | mi | a | ö | a | ü |
SEFI (NATS) | ISO-IR-008-1 | ! | " | # | $ | & | : | ? |
|
A | Ö | A | ■ | _ |
|
a | ö | a | – |
EE ( teletekst ) | ETS WST | ! | " | # | Õ | & | : | ? | S | A | Ö | Ž | Ü | Õ | s | a | ö | ž | ü |
LV/LT ( teletekst ) | ETS WST | ! | " | # | $ | & | : | ? | S | mi | mi | Ž | C | ¾ | s | a | ų | ž | i |
nordycki (zachodni) | |||||||||||||||||||
DK | CP01017 | ! | " | # | ¤ | & | : | ? | @ | Ć | Ø | A | Ü | _ | ` | … | ø | a | ü |
Trudno powiedzieć/NIE ( NRCS ) | CP01105 | ! | " | # | $ | & | : | ? | A | Ć | Ø | A | Ü | _ | a | … | ø | a | ü |
DK/NO-alt ( NRCS ) | CP01107 | ! | " | # | $ | & | : | ? | @ | Ć | Ø | A | ^ | _ | ` | … | ø | a | ~ |
NIE | ISO-IR-060 | ! | " | # | $ | & | : | ? | @ | Ć | Ø | A | ^ | _ | ` | … | ø | a | ? |
NO2 | ISO-IR-061 | ! | " | § | $ | & | : | ? | @ | Ć | Ø | A | ^ | _ | ` | … | ø | a | | |
DANO (NATS) | ISO-IR-009-1 | ! | « | » | $ | & | : | ? |
|
Ć | Ø | A | ■ | _ |
|
… | ø | a | – |
JEST | ! | " | # | ¤ | & | : | ? | D | NS | \ | Ć | Ö | _ | D | NS | | | … | ö | |
Hispanofon | |||||||||||||||||||
ES | ISO-IR-017 | ! | " | £ | $ | & | : | ? | § | ja | N | ¿ | ^ | _ | ` | ° | n | C | ~ |
ES2 | ISO-IR-085 | ! | " | # | $ | & | : | ? | · | ja | N | C | ¿ | _ | ` | ´ | n | C | ¨ |
CU | ISO-IR-151 | ! | " | # | ¤ | & | : | ? | @ | ja | N | ] | ¿ | _ | ` | ´ | n | [ | ¨ |
Hispanophone-Luzofon | |||||||||||||||||||
Teletekst ES/PT | ETS WST | ! | " | C | $ | & | : | ? | ja | a | mi | i | ó | ú | ¿ | ü | n | mi | a |
Luzofon | |||||||||||||||||||
PT | ISO-IR-016 | ! | " | # | $ | & | : | ? | § | A | C | Õ | ^ | _ | ` | a | C | Õ | ° |
PT2 | ISO-IR-084 | ! | " | # | $ | & | : | ? | ´ | A | C | Õ | ^ | _ | ` | a | C | Õ | ~ |
PT ( NRCS ) | --- | ! | " | # | $ | & | : | ? | @ | A | C | Õ | ^ | _ | ` | a | C | Õ | ~ |
grecki | |||||||||||||||||||
Mieszane łacińskie-GR | ISO-IR-027 | Ξ | " | Γ | ¤ | & | Ψ | Π | Δ | Ω | Θ | Φ | Λ | Σ | ` | { | | | } | ? |
ISO-IR-088 (GR / ELOT 927), ISO-IR-018 i ISO-IR-019 zastępują litery rzymskie literami greckimi i są opisane w osobnej tabeli . | |||||||||||||||||||
słowiański (pismo łacińskie) | |||||||||||||||||||
YU | ISO-IR-141 | ! | " | # | $ | & | : | ? | Ž | S | Đ | C | C | _ | ž | s | đ | C | C |
YU Teletekst | ETS WST | ! | " | # | MI | & | : | ? | C | C | Ž | Đ | S | mi | C | C | ž | đ | s |
Teletekst YU-alt | ETS WST | ! | " | # | $ | & | : | ? | C | C | Ž | Đ | S | mi | C | C | ž | đ | s |
CS/CZ/SK ( teletekst ) | ETS WST | ! | " | # | ů | & | : | ? | C | T | ž | ý | i | r | mi | a | mi | ú | s |
PL | BN-74/3101-01 | ! | " | # | zł | & | : | ? | mi | ź | \ | n | s | _ | a | ó | ł | ż | C |
PL Teletekst | ETS WST | ! | " | # | n | & | : | ? | a | Z | S | Ł | C | ó | mi | ż | s | ł | ź |
Adaptacje cyrylicy zastępują litery rzymskie i są wyszczególnione w osobnym wykresie | |||||||||||||||||||
Inne | |||||||||||||||||||
Holandia | CP01019 | ! | " | # | $ | & | : | ? | @ | [ | \ | ] | ^ | _ | ` | { | | | } | ? |
NL NRCS | CP01102 | ! | " | £ | $ | & | : | ? | ¾ | ij | ½ | | | ^ | _ | ` | ¨ | ƒ | ¼ | ´ |
HU | ISO-IR-086 | ! | " | # | ¤ | & | : | ? | A | MI | Ö | Ü | ^ | _ | a | mi | ö | ü | ˝ |
MT | ! | " | # | $ | & | : | ? | @ | g | ż | h | ^ | _ | C | G | Ż | H | C | |
RO ( teletekst ) | ETS WST | ! | " | # | ¤ | & | : | ? | T | A | S | A | I | i | T | a | s | a | i |
TR ( teletekst ) | ETS WST | ! | " | TL | g | & | : | ? | I | S | Ö | C | Ü | G | i | s | ö | C | ü |
Pochodne dla innych alfabetów
Niektóre 7-bitowe zestawy znaków dla alfabetów innych niż łacińskie pochodzą ze standardu ISO 646: same w sobie nie stanowią ISO 646, ponieważ nie przestrzegają jego niezmiennych punktów kodowych (często zastępują litery co najmniej jednego przypadku), ze względu na obsługę różnych alfabetów, dla których zestaw krajowych punktów kodowych zapewnia niewystarczającą przestrzeń kodowania. Przykłady obejmują:
- 7-bitowy Turkmen (ISO-IR-230).
- 7-bitowy grecki.
- W ELOT 927 (ISO-IR-088), alfabet grecki jest odwzorowany w kolejności alfabetycznej (z wyjątkiem końcowej-sigma) na pozycje 0x61-0x71 i 0x73-0x79, nad małymi literami łacińskimi.
- ISO-IR-018 odwzorowuje alfabet grecki na oba przypadki liter, używając innego schematu (nie w kolejności alfabetycznej, ale próbując, tam gdzie to możliwe, dopasować litery greckie do liter rzymskich, które w pewnym sensie odpowiadają), a ISO-IR-019 odwzorowuje grecki wielkie litery nad małymi literami łacińskimi przy użyciu tego samego schematu, co ISO-IR-018.
- Dolna połowa kodowania znaków czcionki Symbol wykorzystuje swój własny schemat mapowania liter greckich w obu przypadkach na litery rzymskie ASCII, próbując również mapować litery greckie na litery rzymskie, które w pewnym sensie odpowiadają, ale podejmując inne decyzje w tym zakresie (zobacz wykres poniżej). Zastępuje również niezmiennicze kody 0x22 i 0x27 oraz pięć krajowych kodów na symbole matematyczne. Chociaż nie jest przeznaczony do użycia w składaniu prozy greckiej, czasami jest używany w tym celu.
- ISO-IR-027 (szczegóły w tabeli powyżej, a nie poniżej) zawiera niezmieniony alfabet łaciński, ale dodaje kilka wielkich liter greckich, których nie można przedstawić za pomocą homoglifów alfabetu łacińskiego ; chociaż jest on wyraźnie oparty na ISO 646, niektóre z nich są mapowane na punkty kodowe, które są niezmienne w ISO 646 (0x21, 0x3A i 0x3F), a zatem nie jest to prawdziwy wariant ISO 646.
- Światowy system teletekstu kodowania dla greckich zastosowań kolejny schemat mapowania greckiej litery w kolejności alfabetycznej nad literami ASCII obu przypadkach, w tym w szczególności z kilku liter znaków diakrytycznych.
- 7-bitowa cyrylica
- KOI-7 lub Short KOI, używane w języku rosyjskim . Znaki cyrylicy są mapowane na pozycje 0x60–0x7E, nad małymi literami łacińskimi, dopasowując litery homologiczne tam, gdzie to możliwe (gdzie в jest mapowane na w, a nie na v). Zastąpione przez warianty KOI-8 .
- SRPSCII i MAKSCII , cyrylica warianty YUSCII (wariant łaciński to YU/ISO-IR-141 na powyższym wykresie), używane odpowiednio dla serbskiego i macedońskiego . W dużej mierze homologiczne do łacińskiego wariantu YUSCII (po serbskich digraphia zasady ), z wyjątkiem Љ (lj), Њ (NJ), Џ (DZ) i ѕ (dz), które odpowiadają digrafach na alfabet łaciński ortografii i są odwzorowywane nad literami, które nie są używane w serbskim lub macedońskim (q, w, x, y).
- Zestawy G0 dla kodowania teletekstu World System dla języka rosyjskiego/bułgarskiego i ukraińskiego używają zestawów G0 podobnych do KOI-7 z pewnymi modyfikacjami. Odpowiedni zestaw G0 dla serbskiej cyrylicy używa schematu opartego na kodowaniu teletekstu dla alfabetu łacińskiego serbsko-chorwackiego i słoweńskiego , w przeciwieństwie do znacząco różniącego się YUSCII.
- 7-bitowy hebrajski, SI 960 . Alfabet hebrajski jest odwzorowywany na stanowiskach 0x60-0x7A, na szczycie małych liter łacińskich (i akcentem alef). 7-bitowy hebrajski był zawsze przechowywany w porządku wizualnym. To odwzorowanie z ustawionym wysokim bitem, tj. z hebrajskimi literami w 0xE0–0xFA, to ISO 8859-8 . Kodowanie teletekstu World System dla języka hebrajskiego używa tych samych mapowań liter, ale używa BS_Viewdata jako kodowania podstawowego (podczas gdy SI 960 używa US-ASCII) i zawiera znak szekla w 0x7B.
- 7-bitowy arabski, ASMO 449 (ISO-IR-089). Alfabet arabski jest odwzorowywany na stanowiskach 0x41-0x5A i 0x60-0x6A, na szczycie zarówno wielkich i małych liter alfabetu łacińskiego.
Porównanie niektórych z tych kodowań znajduje się poniżej. Wyświetlany jest tylko jeden przypadek, z wyjątkiem przypadków, w których przypadki są mapowane na różne litery. W takich przypadkach mapowanie z najmniejszym kodem jest pokazywane jako pierwsze. Dla niektórych listów podano możliwe transkrypcje; tam, gdzie jest to pominięte, litera może być uważana za odpowiadającą literze rzymskiej, na której jest odwzorowana.
angielski ( ASCII ) |
Alfabety cyrylicy | grecki alfabet | hebrajski | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Półtransliteracyjny | Naturalnie uporządkowane | ||||||||||
Rosyjski ( KOI-7 ) |
rosyjski, bułgarski ( WST RU/BG ) |
ukraiński ( WST UKR ) |
serbski ( SRPSCII ) |
macedoński ( MAKSCII ) |
serbski, macedoński ( WST SRP ) |
grecki ( symbol ) |
grecki (IR-18) |
Grecki ( ELOT 927 ) |
grecki ( WST EL ) |
hebrajski ( SI 960 ) |
|
@ ` |
Ю (ju/ju) | Ю (ju/ju) | Ю (ju/ju) | Ж (ž) | Ж (ž) | Ч (č) | ≅ ~ |
´ ` |
@ ` |
ΐ ΰ |
(ʾ/ʔ) |
A | А | (a/á) | А | А | А | А | Α | Α | Α | Α | (b) |
b | Б | Б | Б | Б | Б | Б | Β | Β | Β | Β | (g) |
C | (c/ts) | (c/ts) | (c/ts) | (c/ts) | (c/ts) | (c/ts) | Χ (cz/kh) | (ps) | (g) | (g) | (d) |
D | Д | Д | Д | Д | Д | Д | Δ | Δ | Δ | Δ | (h) |
mi | (je/ye) | (je/ye) | (e) | (e) | (e) | (e) | Ε | Ε | Ε | Ε | (w) |
F | Ф | Ф | Ф | Ф | Ф | Ф | Φ (ph/f) | Φ (ph/f) | (z) | (z) | (z) |
g | Г | Г | Г | Г | Г | Γ | Γ | Γ | Η (ē) | Η (ē) | ח (cz/kh) |
h | Х (h/kh/ch) | Х (h/kh/ch) | Х (h/kh/ch) | Х (h/kh/ch) | Х (h/kh/ch) | Х (h/kh/ch) | Η (ē) | Η (ē) | Θ (ty) | Θ (ty) | (tt) |
i | И | И | (y) | И | И | И | Ι | Ι | Ι | Ι | (j/r) |
J | (j/r) | (j/r) | (j/r) | (j/r) | (j/r) | (j/r) | ϑ (th) ϕ (ph/f) |
(x/ks) | (k) | ך (k końcowy) | |
K | К | К | К | К | К | К | Κ | Κ | Κ | (l) | כ |
L | Л | Л | Л | Л | Л | Л | Λ | Λ | Λ | (m) | ל |
m | М | М | М | М | М | М | Μ | Μ | Μ | (n) | ם (m końcowy) |
n | Н | Н | Н | Н | Н | Н | Ν | Ν | Ν | (x/ks) | (m) |
O | О | О | О | О | О | О | Ο | Ο | (x/ks) | Ο | ן (n końcowy) |
P | П | П | П | П | П | П | Π | Π | (o) | Π | (n) |
Q | (ja/ya) | (ja/ya) | (ja/ya) | Љ (lj/ly) | Љ (lj/ly) | (Ḱ/kj) | Θ (ty) | ( |
(p) | (r) | (s) |
r | Р | Р | Р | Р | Р | Р | Ρ | Ρ | Ρ | ʹ ς (ostateczny) |
(ʽ/ŋ) |
S | С | С | С | С | С | С | Σ | Σ | Σ | Σ | ף (p końcowy) |
T | Т | Т | Т | Т | Т | Т | Τ | Τ | Τ | Τ | (p) |
U | У | У | У | У | У | У | Υ | Θ (ty) | Υ | Υ | ץ (ṣ/ts ostateczna) |
V | Ж (ž) | Ж (ž) | Ж (ž) | В | В | В | ς (s końcowy) ϖ (p) |
Ω (ō) | Φ (f/h) | Φ (f/h) | (ṣ/ts) |
W | (v) | (v) | (v) | (nj/ny/ń) | (nj/ny/ń) | (ǵ/gj) | Ω (ō) | ς (ostateczny) | ς (ostateczny) | Χ (cz/kh) | (q) |
x | Ь (') | Ь (') | Ь (') | Џ (dz) | Џ (dz) | Љ (lj/ly) | Ξ | Χ (cz/kh) | Χ (cz/kh) | (ps) | (r) |
Tak | Ы (t/ı) | (″/ǎ/ŭ) | (i) | (dz) | (dz) | (nj/ny/ń) | (ps) | (u) | (ps) | Ω (ō) | ש (š/sz) |
Z | З | З | З | З | З | З | Ζ | Ζ | Ω (ō) | Ϊ | (t) |
[ { |
Ш (š/sz) | Ш (š/sz) | Ш (š/sz) | Ш (š/sz) | Ш (š/sz) | (ć) | [ { |
᾿̃ ῾̃ |
[ { |
Ϋ | [ { |
\ | |
(e) | (e) | Є (je/ye) | (đ/dj) | (ǵ/gj) | Ж (ž) | ∴ | |
(H) |
\ | |
wartość iloczynu alfa ό |
\ | |
] } |
Щ (šč) | Щ (šč) | Щ (šč) | (ć) | (Ḱ/kj) | (đ/dj) | ] } |
' ' |
] } |
έ ύ |
] } |
^ ~ |
Ч (č) | Ч (č) | Ч (č) | Ч (č) | Ч (č) | Ш (š/sz) | ⊥ ~ |
~ ¨ |
^ ~ |
r | Ohm |
^ ~ |
_ | (″) | Ы (t/ı) | (ji/yi) | _ | _ | Џ (dz) | _ | _ | _ | ί | _ |
Zobacz też
- ISO / IEC 2022 Technika informatyczna: struktura kodu znaków i techniki rozszerzenia
- ISO/IEC 6937 (ANSI)
- ISO/IEC JTC 1/SC 2
Przypisy
Bibliografia
Dalsza lektura
- Fischer, Eric, wyd. (1975) (1972). Dokumenty źródłowe dotyczące historii kodów znaków, 1972–1975 (kompilacja) . Źródło 2020-06-07 Dokumenty źródłowe dotyczące historii kodów znaków, 1972-1975 : Opracowane przez Erica Fischera : Bezpłatne pobieranie, pożyczanie i przesyłanie strumieniowe : Internet Archive (79 stron), w tym: Bemer, Robert William (1972). „widok historii zestawu znaków ISO”. Honeywell Computer Journal . Phoenix, Arizona, USA: Honeywell Information Systems. 6 (4): 274–286, 287–291. (13+5 stron) oraz wiele innych dokumentów i korespondencji.
Zewnętrzne linki
- Zeichensatz nach ISO 646 (ASCII) (w języku niemieckim)
- Historia na stronie GNU Aspell
- Tabele znaków ISO646 Tabele znaków autorstwa Koichi Yasuoki (安岡孝) (patrz Tabele znaków krajowych ISO646 i Tabele znaków quasi-ISO646 )
- Deasciifier tekstu tureckiego narzędzie (oparte na statystycznej analizie języka tureckiego metodą pentagramu), które odwraca tekst turecki z ASCII poprzez określenie odpowiednich (ale niejednoznacznych) znaków diakrytycznych normalnie wymaganych w języku tureckim, których brakuje w zestawie US-ASCII.