EBCDIC

EBCDIC (zkratka anglického Extended Binary Coded Decimal Interchange CodeRozšířený binárně kódovaně desítkový výměnný kód) je 8bitový znakový kód, navržený firmou IBM na základě kódupoužívaného pro děrné štítky a příslušného 6bitového BCD kódu využívaného v periferiích IBM na přelomu 50. a 60. let. Mimo systémy firmy IBM (a systémy jiných firem navržené za účelem kompatibility se systémy IBM) se pro stejný účel používá obvykle spíše kód ASCII (resp. jeho následovníci jako Unicode), EBCDIC je všeobecně považováno za anachronismus.

Jeden znak v základním kódu EBCDIC zabírá jeden byte, z něhož se první 4 bity označují jako zóna a vyjadřují kategorii daného znaku, druhé 4 bity se označují jako číslice a určují konkrétní znak. V některýchasijských zemích se používá rozšířená verze EBCDIC, která pro zobrazení čínskýchjaponských čikorejských znaků používá 2-bytový kód. Pro přechod ze standardního 1-bytového do rozšířeného 2-bytového režimu a zpět se používají kódy 0EH a 0FH.

Existuje mnoho variant kódu EBCDIC pro různé země. Tyto kódové stránky se označují číselným kódem známým jako CCSID (Coded Character Set IDentifier). Některé znaky existují v různých kódových stránkách na různých pozicích, na což je třeba dát pozor při přenosu dat mezi různými systémy podporujícími EBCDIC.

Jednou z výrazných nevýhod kódu EBCDIC je, že znaky latinky netvoří spojitou posloupnost, takže např. běžný regulární výraz [a-z] používaný pro výběr všech písmen anglické abecedy by v EBCDIC nefungoval.

Rozložení

Kódy 0–63 a 255 jsou řídící, zbytek jsou platné znaky. Následující tabulka popisuje kódovou stránku 870 (tzv. Latin 2 Multilingual), zhruba odpovídající ASCII kódové stránce ISO-8859-2.

 

Dec

Hex

Znak

Unicode

Dec

Hex

Znak

Unicode

Dec

Hex

Znak

Unicode

Dec

Hex

Znak

Unicode

0

00

NULL

U+0000

64

40

mezera

U+0020

128

80

˘

U+02D8

192

C0

{

U+007B

1

01

SOH

U+0001

65

41

pevná mezera

U+00A0

129

81

a

U+0061

193

C1

A

U+0041

2

02

STX

U+0002

66

42

â

U+00E2

130

82

b

U+0062

194

C2

B

U+0042

3

03

ETX

U+0003

67

43

ä

U+00E4

131

83

c

U+0063

195

C3

C

U+0043

4

04

PF

68

44

ţ

U+0163

132

84

d

U+0064

196

C4

D

U+0044

5

05

HT

U+0009

69

45

á

U+00E1

133

85

e

U+0065

197

C5

E

U+0045

6

06

LC

70

46

ă

U+0103

134

86

f

U+0066

198

C6

F

U+0046

7

07

DEL

U+007F

71

47

č

U+010D

135

87

g

U+0067

199

C7

G

U+0047

8

08

GE

72

48

ç

U+00E7

136

88

h

U+0068

200

C8

H

U+0048

9

09

RLF

73

49

ć

U+0107

137

89

i

U+0069

201

C9

I

U+0049

10

0A

SMM

74

4A

[

U+005B

138

8A

ś

U+015B

202

CA

měkké dělítko

U+00AD

11

0B

VT

U+000B

75

4B

.

U+002E

139

8B

ň

U+0148

203

CB

ô

U+00F4

12

0C

FF

U+000C

76

4C

U+003C

140

8C

đ

U+0111

204

CC

ö

U+00F6

13

0D

CR

U+000D

77

4D

(

U+0028

141

8D

ý

U+00FD

205

CD

ŕ

U+0155

14

0E

SO

U+000E

78

4E

+

U+002B

142

8E

ř

U+0159

206

CE

ó

U+00F3

15

0F

SI

U+000F

79

4F

 !

U+0021

143

8F

ş

U+015F

207

CF

ő

U+0151

16

10

DLE

U+0010

80

50

&

U+0026

144

90

°

U+00B0

208

D0

}

U+007D

17

11

DC1

U+0011

81

51

é

U+00E9

145

91

j

U+006A

209

D1

J

U+004A

18

12

DC2

U+0012

82

52

ę

U+0119

146

92

k

U+006B

210

D2

K

U+004B

19

13

TM

83

53

ë

U+00EB

147

93

l

U+006C

211

D3

L

U+004C

20

14

RES

84

54

ů

U+016F

148

94

m

U+006D

212

D4

M

U+004D

21

15

NL

85

55

í

U+00ED

149

95

n

U+006E

213

D5

N

U+004E

22

16

BS

U+0008

86

56

î

U+00EE

150

96

o

U+006F

214

D6

O

U+004F

23

17

IL

87

57

ľ

U+013E

151

97

p

U+0070

215

D7

P

U+0050

24

18

CAN

U+0018

88

58

ĺ

U+013A

152

98

q

U+0071

216

D8

Q

U+0051

25

19

EM

U+0019

89

59

ß

U+00DF

153

99

r

U+0072

217

D9

R

U+0052

26

1A

CC

90

5A

]

U+005D

154

9A

ł

U+0142

218

DA

Ě

U+011A

27

1B

CU1

91

5B

$

U+0024

155

9B

ń

U+0144

219

DB

ű

U+0171

28

1C

IFS

U+001C

92

5C

*

U+002A

156

9C

š

U+0161

220

DC

ü

U+00FC

29

1D

IGS

U+001D

93

5D

)

U+0029

157

9D

¸

U+00B8

221

DD

ť

U+0165

30

1E

IRS

U+001E

94

5E

 ;

U+003B

158

9E

˛

U+02DB

222

DE

ú

U+00FA

31

1F

IUS

U+001F

95

5F

^

U+005E

159

9F

¤

U+00A4

223

DF

ě

U+011B

32

20

DS

96

60

-

U+002D

160

A0

ą

U+0105

224

E0

\

U+005C

33

21

SOS

97

61

/

U+002F

161

A1

~

U+007E

225

E1

÷

U+00F7

34

22

FS

98

62

Â

U+00C2

162

A2

s

U+0073

226

E2

S

U+0053

35

23

99

63

Ä

U+00C4

163

A3

t

U+0074

227

E3

T

U+0054

36

24

BYP

100

64

˝

U+02DD

164

A4

u

U+0075

228

E4

U

U+0055

37

25

LF

U+000A

101

65

Á

U+00C1

165

A5

v

U+0076

229

E5

V

U+0056

38

26

ETB

U+0017

102

66

Ă

U+0102

166

A6

w

U+0077

230

E6

W

U+0057

39

27

ESC

U+001B

103

67

Č

U+010C

167

A7

x

U+0078

231

E7

X

U+0058

40

28

104

68

Ç

U+00C7

168

A8

y

U+0079

232

E8

Y

U+0059

41

29

105

69

Ć

U+0106

169

A9

z

U+007A

233

E9

Z

U+005A

42

2A

SM

106

6A

 

U+007C

170

AA

Ś

U+015A

234

EA

ď

U+010F

43

2B

CU2

107

6B

,

U+002C

171

AB

Ň

U+0147

235

EB

Ô

U+00D4

44

2C

108

6C

 %

U+0025

172

AC

Ð

U+00D0

236

EC

Ö

U+00D6

45

2D

ENQ

U+0005

109

6D

_

U+005F

173

AD

Ý

U+00DD

237

ED

Ŕ

U+0154

46

2E

ACK

U+0006

110

6E

U+003E

174

AE

Ř

U+0158

238

EE

Ó

U+00D3

47

2F

BEL

U+0007

111

6F

 ?

U+003F

175

AF

Ş

U+015E

239

EF

Ő

U+0150

48

30

112

70

ˇ

U+02C7

176

B0

˙

U+02D9

240

F0

0

U+0030

49

31

113

71

É

U+00C9

177

B1

Ą

U+0104

241

F1

1

U+0031

50

32

SYN

U+0016

114

72

Ę

U+0118

178

B2

ż

U+017C

242

F2

2

U+0032

51

33

115

73

Ë

U+00CB

179

B3

Ţ

U+0162

243

F3

3

U+0033

52

34

PN

116

74

Ů

U+016E

180

B4

Ż

U+017B

244

F4

4

U+0034

53

35

RS

117

75

Í

U+00CD

181

B5

§

U+00A7

245

F5

5

U+0035

54

36

UC

118

76

Î

U+00CE

182

B6

ž

U+017E

246

F6

6

U+0036

55

37

EOT

U+0004

119

77

Ľ

U+013D

183

B7

ź

U+017A

247

F7

7

U+0037

56

38

120

78

Ĺ

U+0139

184

B8

Ž

U+017D

248

F8

8

U+0038

57

39

121

79

`

U+0060

185

B9

Ź

U+0179

249

F9

9

U+0039

58

3A

122

7A

 :

U+003A

186

BA

Ł

U+0141

250

FA

Ď

U+010E

59

3B

CU3

123

7B

#

U+0023

187

BB

Ń

U+0143

251

FB

Ű

U+0170

60

3C

DC4

U+0014

124

7C

@

U+0040

188

BC

Š

U+0160

252

FC

Ü

U+00DC

61

3D

NAK

U+0015

125

7D

'

U+0027

189

BD

¨

U+00A8

253

FD

Ť

U+0164

62

3E

126

7E

=

U+003D

190

BE

´

U+00B4

254

FE

Ú

U+00DA

63

3F

SUB

U+001A

127

7F

"

U+0022

191

BF

×

U+00D7

255

FF

EO