1#[inline]
4pub fn to_ascii(b: u8) -> u8 {
5 match b {
6 0x0 => 0x0,
7 0x1 => 0x1,
8 0x2 => 0x2,
9 0x3 => 0x3,
10 0x4 => 0x85,
11 0x5 => 0x9,
12 0x6 => 0x86,
13 0x7 => 0x7f,
14 0x8 => 0x87,
15 0x9 => 0x8d,
16 0xa => 0x8e,
17 0xb => 0xb,
18 0xc => 0xc,
19 0xd => 0xd,
20 0xe => 0xe,
21 0xf => 0xf,
22 0x10 => 0x10,
23 0x11 => 0x11,
24 0x12 => 0x12,
25 0x13 => 0x13,
26 0x14 => 0x8f,
27 0x15 => 0xa,
28 0x16 => 0x8,
29 0x17 => 0x97,
30 0x18 => 0x18,
31 0x19 => 0x19,
32 0x1a => 0x9c,
33 0x1b => 0x9d,
34 0x1c => 0x1c,
35 0x1d => 0x1d,
36 0x1e => 0x1e,
37 0x1f => 0x1f,
38 0x20 => 0x80,
39 0x21 => 0x81,
40 0x22 => 0x82,
41 0x23 => 0x83,
42 0x24 => 0x84,
43 0x25 => 0x92,
44 0x26 => 0x17,
45 0x27 => 0x1b,
46 0x28 => 0x88,
47 0x29 => 0x89,
48 0x2a => 0x8a,
49 0x2b => 0x8b,
50 0x2c => 0x8c,
51 0x2d => 0x5,
52 0x2e => 0x6,
53 0x2f => 0x7,
54 0x30 => 0x90,
55 0x31 => 0x91,
56 0x32 => 0x16,
57 0x33 => 0x93,
58 0x34 => 0x94,
59 0x35 => 0x95,
60 0x36 => 0x96,
61 0x37 => 0x4,
62 0x38 => 0x98,
63 0x39 => 0x99,
64 0x3a => 0x9a,
65 0x3b => 0x9b,
66 0x3c => 0x14,
67 0x3d => 0x15,
68 0x3e => 0x9e,
69 0x3f => 0x1a,
70 0x40 => 0x20,
71 0x41 => 0xa0,
72 0x42 => 0xe2,
73 0x43 => 0xe4,
74 0x44 => 0xe0,
75 0x45 => 0xe1,
76 0x46 => 0xe3,
77 0x47 => 0xe5,
78 0x48 => 0xe7,
79 0x49 => 0xf1,
80 0x4a => 0xa2,
81 0x4b => 0x2e,
82 0x4c => 0x3c,
83 0x4d => 0x28,
84 0x4e => 0x2b,
85 0x4f => 0x7c,
86 0x50 => 0x26,
87 0x51 => 0xe9,
88 0x52 => 0xea,
89 0x53 => 0xeb,
90 0x54 => 0xe8,
91 0x55 => 0xed,
92 0x56 => 0xee,
93 0x57 => 0xef,
94 0x58 => 0xec,
95 0x59 => 0xdf,
96 0x5a => 0x21,
97 0x5b => 0x24,
98 0x5c => 0x2a,
99 0x5d => 0x29,
100 0x5e => 0x3b,
101 0x5f => 0x5e,
102 0x60 => 0x2d,
103 0x61 => 0x2f,
104 0x62 => 0xc2,
105 0x63 => 0xc4,
106 0x64 => 0xc0,
107 0x65 => 0xc1,
108 0x66 => 0xc3,
109 0x67 => 0xc5,
110 0x68 => 0xc7,
111 0x69 => 0xd1,
112 0x6a => 0xa6,
113 0x6b => 0x2c,
114 0x6c => 0x25,
115 0x6d => 0x5f,
116 0x6e => 0x3e,
117 0x6f => 0x3f,
118 0x70 => 0xf8,
119 0x71 => 0xc9,
120 0x72 => 0xca,
121 0x73 => 0xcb,
122 0x74 => 0xc8,
123 0x75 => 0xcd,
124 0x76 => 0xce,
125 0x77 => 0xcf,
126 0x78 => 0xcc,
127 0x79 => 0x60,
128 0x7a => 0x3a,
129 0x7b => 0x23,
130 0x7c => 0x40,
131 0x7d => 0x27,
132 0x7e => 0x3d,
133 0x7f => 0x22,
134 0x80 => 0xd8,
135 0x81 => 0x61,
136 0x82 => 0x62,
137 0x83 => 0x63,
138 0x84 => 0x64,
139 0x85 => 0x65,
140 0x86 => 0x66,
141 0x87 => 0x67,
142 0x88 => 0x68,
143 0x89 => 0x69,
144 0x8a => 0xab,
145 0x8b => 0xbb,
146 0x8c => 0xf0,
147 0x8d => 0xfd,
148 0x8e => 0xfe,
149 0x8f => 0xb1,
150 0x90 => 0xb0,
151 0x91 => 0x6a,
152 0x92 => 0x6b,
153 0x93 => 0x6c,
154 0x94 => 0x6d,
155 0x95 => 0x6e,
156 0x96 => 0x6f,
157 0x97 => 0x70,
158 0x98 => 0x71,
159 0x99 => 0x72,
160 0x9a => 0xaa,
161 0x9b => 0xba,
162 0x9c => 0xe6,
163 0x9d => 0xb8,
164 0x9e => 0xc6,
165 0x9f => 0xa4,
166 0xa0 => 0xb5,
167 0xa1 => 0x7e,
168 0xa2 => 0x73,
169 0xa3 => 0x74,
170 0xa4 => 0x75,
171 0xa5 => 0x76,
172 0xa6 => 0x77,
173 0xa7 => 0x78,
174 0xa8 => 0x79,
175 0xa9 => 0x7a,
176 0xaa => 0xa1,
177 0xab => 0xbf,
178 0xac => 0xd0,
179 0xad => 0x5b,
180 0xae => 0xde,
181 0xaf => 0xae,
182 0xb0 => 0xac,
183 0xb1 => 0xa3,
184 0xb2 => 0xa5,
185 0xb3 => 0xb7,
186 0xb4 => 0xa9,
187 0xb5 => 0xa7,
188 0xb6 => 0xb6,
189 0xb7 => 0xbc,
190 0xb8 => 0xbd,
191 0xb9 => 0xbe,
192 0xba => 0xdd,
193 0xbb => 0xa8,
194 0xbc => 0xaf,
195 0xbd => 0x5d,
196 0xbe => 0xb4,
197 0xbf => 0xd7,
198 0xc0 => 0x7b,
199 0xc1 => 0x41,
200 0xc2 => 0x42,
201 0xc3 => 0x43,
202 0xc4 => 0x44,
203 0xc5 => 0x45,
204 0xc6 => 0x46,
205 0xc7 => 0x47,
206 0xc8 => 0x48,
207 0xc9 => 0x49,
208 0xca => 0xad,
209 0xcb => 0xf4,
210 0xcc => 0xf6,
211 0xcd => 0xf2,
212 0xce => 0xf3,
213 0xcf => 0xf5,
214 0xd0 => 0x7d,
215 0xd1 => 0x4a,
216 0xd2 => 0x4b,
217 0xd3 => 0x4c,
218 0xd4 => 0x4d,
219 0xd5 => 0x4e,
220 0xd6 => 0x4f,
221 0xd7 => 0x50,
222 0xd8 => 0x51,
223 0xd9 => 0x52,
224 0xda => 0xb9,
225 0xdb => 0xfb,
226 0xdc => 0xfc,
227 0xdd => 0xf9,
228 0xde => 0xfa,
229 0xdf => 0xff,
230 0xe0 => 0x5c,
231 0xe1 => 0xf7,
232 0xe2 => 0x53,
233 0xe3 => 0x54,
234 0xe4 => 0x55,
235 0xe5 => 0x56,
236 0xe6 => 0x57,
237 0xe7 => 0x58,
238 0xe8 => 0x59,
239 0xe9 => 0x5a,
240 0xea => 0xb2,
241 0xeb => 0xd4,
242 0xec => 0xd6,
243 0xed => 0xd2,
244 0xee => 0xd3,
245 0xef => 0xd5,
246 0xf0 => 0x30,
247 0xf1 => 0x31,
248 0xf2 => 0x32,
249 0xf3 => 0x33,
250 0xf4 => 0x34,
251 0xf5 => 0x35,
252 0xf6 => 0x36,
253 0xf7 => 0x37,
254 0xf8 => 0x38,
255 0xf9 => 0x39,
256 0xfa => 0xb3,
257 0xfb => 0xdb,
258 0xfc => 0xdc,
259 0xfd => 0xd9,
260 0xfe => 0xda,
261 0xff => 0x9f,
262 _ => unreachable!(),
263 }
264}
265
266
267pub fn make_ascii(bp: &mut u8) {
270 *bp = to_ascii(*bp);
271}
272
273use super::ascii;
274
275#[inline]
276pub fn to_uppercase(b: u8) -> u8 {
277 ascii::to_ebcdic(ascii::to_uppercase(to_ascii(b)))
278}
279
280#[inline]
281pub fn to_lowercase(b: u8) -> u8 {
282 ascii::to_ebcdic(ascii::to_lowercase(to_ascii(b)))
283}