Język japoński w EBCDIC

języka japońskiego na komputerach użyto kilku wzajemnie niekompatybilnych wersji rozszerzonego binarnego kodowanego dziesiętnego kodu wymiany ( EBCDIC ), w tym wariantów zdefiniowanych przez firmy Hitachi , Fujitsu , IBM i inne. Niektóre z nich to kodowanie o zmiennej szerokości , wykorzystujące blokujące kody przesunięcia do przełączania między trybami jednobajtowymi i dwubajtowymi. W przeciwieństwie do innych ustawień regionalnych EBCDIC, małe łacińskiego często nie są zachowywane w swoich zwykłych miejscach.

Znaki, które znajdują się w dwubajtowym japońskim kodzie używanym z EBCDIC przez IBM, ale nie występują w pierwszym wydaniu JIS X 0208 , również wpłynęły na rozszerzenia dostawcy znalezione w niektórych kodowaniach innych niż EBCDIC, takich jak strona kodowa IBM 932 („ DBCS-PC”) i strona kodowa Windows 932 .

Kody jednobajtowe

Podobnie jak JIS X 0201 (sam włączony do Shift JIS ), japońskie kodowanie EBCDIC często zawiera zestaw jednobajtowych katakana . Kilka różnych wariantów jednobajtowego kodu EBCDIC jest używanych w japońskich ustawieniach regionalnych przez różnych dostawców; dany sprzedawca może również zdefiniować dwa różne kody jednobajtowe, jeden preferowany dla katakany o połowie szerokości i jeden preferowany dla alfabetu łacińskiego . Warianty EBCDIC preferowane przez danego sprzedawcę do użycia w katakanie są czasami określane jako EBCDIK , co oznacza Rozszerzony kod Kana wymiany dziesiętnej z kodem binarnym .

Strony kodowe zawierające kana o połowie szerokości są wyjątkiem od niezmiennego zestawu znaków EBCDIC firmy IBM, który określa zestaw znaków, które są zwykle kodowane tak samo na wszystkich stronach kodowych EBCDIC. Przede wszystkim czasami zawierają znaki katakana w punktach kodowych, które są używane dla małych liter podstawowego alfabetu łacińskiego w zbiorze niezmiennym. Kodowanie małych liter, gdy znaki katakana są zawarte w tych lokalizacjach, oraz kodowanie znaków katakana, gdy małe litery są zachowywane w ich zwykłych miejscach, może się różnić w zależności od dostawcy, jak pokazano poniżej.

Microsoft Windows implementuje dwa japońskie jednobajtowe warianty EBCDIC, z numerami stron kodowych o 20000 wyższymi niż numery stron kodowych IBM dla swoich wariantów, jako strony kodowe 20290 (udokumentowane jako IBM290 , „ IBM EBCDIC Japanese Katakana Extended”) i 21027 („Extended / Ext małe litery alfabetu”). Strona kodowa 21027 zaimplementowana w systemie Windows jest implementacją niekompletną, pozbawioną dwukierunkowych mapowań dla kilku liter i kana, i jest obecnie przestarzała.

Strony kodowe IBM zostały później zaktualizowane, aby zawierały znak euro w 0xE1, zachowując swoje oryginalne numery CPGID, ale przypisano im nowe numery CCSID. Stąd CCSID 290 odnosi się do oryginalnej wersji strony kodowej 290, podczas gdy wersja strony kodowej 290 ze znakiem euro jest również znana jako CCSID 8482. Podobnie CCSID 1027 odnosi się do oryginalnej wersji strony kodowej 1027, podczas gdy wersja CPGID 1027 ze znakiem Euro otrzymuje CCSID 5123.

Oprócz wersji dwubajtowej japońskiej strony kodowej DBCS-Host firmy IBM (CPGID 300, CCSID 300 lub 16684) jako składnika dwubajtowego, strona kodowa IBM 290 jest używana jako składnik jednobajtowy wielobajtowej strony kodowej IBM- 930 i (jako zaktualizowany w euro CCSID 8482) zaktualizowana wersja IBM-1390. Strona kodowa IBM 1027 jest używana jako jednobajtowy składnik wielobajtowej strony kodowej IBM-939 i (jako zaktualizowany przez Euro CCSID 5123) zaktualizowana wersja IBM-1399.

W poniższej tabeli zgodność ze zbiorem niezmiennym jest oznaczona kolorem zielonym; kolizja ze zbiorem niezmiennym jest zaznaczona kolorem czerwonym.

Kody jednobajtowe w japońskich wariantach EBCDIC (z wyłączeniem kodów kontrolnych)
Szesnastkowy Małe litery w niezmiennych lokalizacjach, kana nieobecna lub przesunięta Małe litery nieobecne lub zastąpione przez kana
Fujitsu EBCDIC Hitachi EBCDIC HP EBCDIK IBM 298 IBM 1027
IBM 1031 Fujitsu EBCDIK
Hitachi EBCDIK IBM 1136
NEC EBCDIC IBM 290
IBM 887 IBM 1030
0x40 Sp Sp Sp Sp Sp Sp Sp Sp Sp Sp Sp Sp
0x41
0x42
0x43
0x44
0x45
0x46
0x47
0x48
0x49
0x4A £ [ ¢ ¢ ¢ £ [ [ £ £ £
0x4B . . . . . . . . . . . .
0x4C < < ) < < < < < < < < <
0x4D ( ( [ ( ( ( ( ( ( ( ( (
0x4E + + < + + + + + + + + +
0x4F | ! | | | | ! ! | | |
0x50 & & + & & & & & & & & &
0x51
0x52
0x53
0x54
0x55
0x56
0x57 A
0x58
0x59 A B
0x5A ! ] ! ! ! ! ] ] ! ! !
0x5B \ ¥ $ $ $ $ \ ¥ \ ¥ ¥ ¥
0x5C * * * * * * * * * * * *
0x5D ) ) ] ) ) ) ) ) ) ) ) )
0x5E ; ; ; ; ; ; ; ; ; ; ; ;
0x5F ¬ ^ ¬ ¬ ¬ ¬ ^ ^ ¬ ¬ ¬
0x60 - - - - - - - - - - - -
0x61 / / / / / / / / / / / /
0x62 B C A A
0x63 C D B B
0x64 D mi C C
0x65 mi F D D
0x66 F G mi mi
0x67 G H F F
0x68 H I G G
0x69 I J H H
0x6A ¦ | | ¦ | |
0x6B , , , , , , , , , , , ,
0x6C % % ( % % % % % % % % %
0x6D _ _ _ _ _ _ _ _ _ _ _ _
0x6E > > ¥ > > > > > > > > >
0x6F ? ? ? ? ? ? ? ? ? ? ?
0x70 J k [ [
0x71 k l I I
0x72 l M J J
0x73 M N k k
0x74 N o l l
0x75 ソ ソ ソ ソ ソ o P M M
0x76 P Q N N
0x77 Q R o o
0x78 R S P P
0x79 ` ` ` ` ` ` ` ` ` ` `
0x7A : : : : : : : : : : :
0x7B # # = # # # # # # # # #
0x7C @ @ ' @ @ @ @ @ @ @ @ @
0x7D ' ' : ' ' ' ' ' ' ' ' '
0x7E = = > = = = = = = = = =
0x7F " " " " " " " " " " " "
0x80 S T ] ]
0x81 A A A A A A
0x82 B B B B B B
0x83 C C C C C C
0x84 D D D D D D
0x85 mi mi mi mi mi mi
0x86 F F F F F F
0x87 G G G G G G
0x88 H H H H H H
0x89 I I I I I I
0x8A
0x8B T u Q Q
0x8C
0x8D
0x8E
0x8F
0x90 ソ ソ ソ ソ ソ ソ
0x91 J J J J J J
0x92 k k k k k k
0x93 l l l l l l
0x94 M M M M M M
0x95 N N N N N N
0x96 o o o o o o
0x97 P P P P P P
0x98 Q Q Q Q Q Q
0x99 R R R R R R
0x9A
0x9B u w R R
0x9C w w
0x9D
0x9E
0x9F
0xA0 ¯ ¯ w X ~ ~
0xA1 ~ ~ ¯ ~ ~ ~ ~ ~ ~ ¯ ¯ ¯
0xA2 S S S S S S
0xA3 T T T T T T
0xA4 u u u u u u
0xA5 w w w w w w
0xA6 w w w w w w
0xA7 X X X X X X
0xA8 y y y y y y
0xA9 z z z z z z
0xAA
0xAB X y S S
0xAC
0xAD [ [
0xAE
0xAF
0xB0 ^ ^ y z ^ ^
0xB1 £ £ z ¢ ¢
0xB2 ¥ ¥ \ \
0xB3 T T
0xB4 u u
0xB5 w w
0xB6 w w
0xB7 X X
0xB8 y y
0xB9 z z
0xBA
0xBB
0xBC
0xBD ] ]
0xBE
0xBF
0xC0 { { ? { { { { { { { {
0xC1 A A A A A A A A A A A A
0xC2 B B B B B B B B B B B B
0xC3 C C C C C C C C C C C C
0xC4 D D D D D D D D D D D D
0xC5 mi mi mi mi mi mi mi mi mi mi mi mi
0xC6 F F F F F F F F F F F F
0xC7 G G G G G G G G G G G G
0xC8 H H H H H H H H H H H H
0xC9 I I I I I I I I I I I I
0xCA
0xCB
0xCC
0xCD
0xCE
0xCF
0xD0 } } ! } } } } } } } }
0xD1 J J J J J J J J J J J J
0xD2 k k k k k k k k k k k k
0xD3 Ł Ł Ł Ł Ł Ł Ł Ł Ł Ł Ł Ł
0xD4 M M M M M M M M M M M M
0xD5 N N N N N N N N N N N N
0xD6 O O O O O O O O O O O O
0xD7 P P P P P P P P P P P P
0xD8 Q Q Q Q Q Q Q Q Q Q Q Q
0xD9 R R R R R R R R R R R R
0xDA
0xDB °
0xDC ±
0xDD
0xDE
0xDF
0xE0 $ $ ¥ \ \ $ $ $ $ $ $
0xE1
0xE2 S S S S S S S S S S S S
0xE3 T T T T T T T T T T T T
0xE4 u u u u u u u u u u u u
0xE5 V V V V V V V V V V V V
0xE6 W W W W W W W W W W W W
0xE7 X X X X X X X X X X X X
0xE8 Y Y Y Y Y Y Y Y Y Y Y Y
0xE9 Z Z Z Z Z Z Z Z Z Z Z Z
0xEA
0xEB
0xEC
0xED
0xEE
0xEF Ω
0xF0 0 0 0 0 0 0 0 0 0 0 0 0
0xF1 1 1 1 1 1 1 1 1 1 1 1 1
0xF2 2 2 2 2 2 2 2 2 2 2 2 2
0xF3 3 3 3 3 3 3 3 3 3 3 3 3
0xF4 4 4 4 4 4 4 4 4 4 4 4 4
0xF5 5 5 5 5 5 5 5 5 5 5 5 5
0xF6 6 6 6 6 6 6 6 6 6 6 6 6
0xF7 7 7 7 7 7 7 7 7 7 7 7 7
0xF8 8 8 8 8 8 8 8 8 8 8 8 8
0xF9 9 9 9 9 9 9 9 9 9 9 9 9
0xFA
0xFB
0xFC
0xFD µ
0xFE

Kody dwubajtowe

Istnieją trzy dwubajtowe kody znaków używane w języku japońskim z EBCDIC: strona kodowa IBM 300 (zwana także IBM Kanji lub IBM Japanese DBCS-Host) firmy IBM , KEIS firmy Hitachi i JEF firmy Fujitsu . Są to kodowania DBCS-Host, wykorzystujące różne kody przesunięcia do przełączania między jednobajtowymi trybami EBCDIC i dwubajtowymi. Kody od 0x41 do 0xFE (te używane do znaków graficznych w EBCDIC) są używane parami do reprezentowania znaków z siatki 190 × 190; kod 0x40 ( spacja w EBCDIC) jest używany podwojony jako spacja ideograficzna , ale nie jako część jakiegokolwiek innego kodu dwubajtowego.

W wersji IBM kodu DBCS-Host kod 0x0F przełącza się w tryb jednobajtowy, a kod 0x0E w tryb dwubajtowy, podobnie jak dwubajtowe kody EBCDIC IBM dla innych języków CJK , takich jak wersja EBCDIC Johaba dla koreańskiego . _ W przeciwieństwie do KEIS i JEF, układ strony kodowej IBM 300 nie jest powiązany z JIS X 0208 , a konwersja między nimi musi odbywać się za pomocą tabeli; jednak jego repertuar postaci był aktualizowany o kolejne wersje JIS X 0208, aby pozostać nadzbiorem repertuaru JIS X 0208. Bajty wiodące od 0x41 do 0x44 są używane dla znaków innych niż Kanji, bajty wiodące od 0x45 do 0x68 są używane dla znaków Kanji, a bajty wiodące od 0x69 do 0x89 są używane dla UDC ( znaki zdefiniowane przez użytkownika ).

Istnienie japońskiego kodu IBM DBCS-Host miało wpływ poza systemy EBCDIC, ponieważ IBM zdefiniował również warianty Shift JIS („DBCS-PC”, zdefiniowane w czysto dwubajtowej stronie kodowej 301 i używane w stronie kodowej o zmiennej szerokości 932 i Strona kodowa 942 ) i EUC-JP , które kodują cały repertuar strony kodowej IBM 300, w tym 28 innych niż Kanji i 360 Kanji dodatkowych do tych pierwotnie zawartych w JIS X 0208 (chociaż nie-Kanji, ponieważ znak ∵ i nie znak ¬ zostały później dodane do JIS X 0208 w 1983 r.). Są one określane jako znaki „wybrane przez IBM” i są zawarte jako rozszerzenia, na przykład w stronie kodowej Windows 932 .

Niektóre nowsze wersje strony kodowej IBM-300 dodają dodatkowe znaki Kanji z bajtami wiodącymi od 0xB8 do 0xD5 i dodatkowe bajty inne niż Kanji z bajtami wiodącymi od 0xD6 do 0xE9. Ta wersja zaktualizowała zestaw dla JIS X 0213 , w tym znak euro , i zachowując CPGID 300, przypisano nowy CCSID 16684. Strony kodowe IBM-930 (ze stroną kodową 290 jako zestawem jednobajtowym) i IBM- 939 (ze stroną kodową 1027 jako zestawem jednobajtowym) wykluczają te dodatki, podczas gdy IBM-1390 (z wersją strony kodowej ze znakiem euro 290 / CCSID 8482) i IBM-1399 (z wersją strony kodowej ze znakiem euro 1027 / CCSID 5123) obejmują je.

W Hitachi KEIS (rozszerzony system informacji przetwarzający Kanji) sekwencja 0x0A 0x41 przełącza się w tryb jednobajtowy, a sekwencja 0x0A 0x42 przełącza się w tryb dwubajtowy. Znaki JIS X 0208 są kodowane przy użyciu tych samych sekwencji bajtów, które są używane do kodowania ich w EUC-JP , tj. oba bajty mają wartość od 0xA1 do 0xFE włącznie. Powoduje to zduplikowane kodowanie przestrzeni ideograficznej —0x4040 według struktury kodu DBCS-Host i 0xA1A1 jak w EUC-JP. Jednak zakres bajtów wiodących jest rozszerzony z powrotem do 0x59, z których bajty wiodące 0x81 – A0 są przeznaczone dla znaków zdefiniowanych przez użytkownika, a pozostała część jest używana dla znaków korporacyjnych, w tym zarówno kanji, jak i innych niż kanji.

W Fujitsu JEF (rozszerzona funkcja przetwarzania japońskiego) 0x29 przełącza się w tryb jednobajtowy, a 0x28 przełącza w tryb dwubajtowy. Podobnie jak w KEIS, kody JIS X 0208 są reprezentowane tak samo jak w EUC-JP. W odróżnieniu od KEIS, wydanie JIS X 0208 używane w tej strefie JEF jest oryginalnym JIS C 6226:1978. Zakres bajtów wiodących został rozszerzony z powrotem do 0x41, z 0x80 – A0 przeznaczonymi do definicji użytkownika; bajty wiodące 0x41–7F mają przypisane numery wierszy od 101 do 163 dla kuten celów, chociaż wiersz 162 (bajt wiodący 0x7E) jest niewykorzystany. Wiersze od 101 do 148 są używane dla rozszerzonych kanji, podczas gdy wiersze od 149 do 163 są używane dla rozszerzonych znaków innych niż kanji.

przypisy