PC-01 Lviv http://pc01.lviv.ua/forum/ |
|
Проверить функцию кодировки символов ПК-01 http://pc01.lviv.ua/forum/viewtopic.php?f=8&t=377 |
Page 1 of 1 |
Author: | als [ 08 May 2020, 16:13 ] |
Post subject: | Проверить функцию кодировки символов ПК-01 |
Нужно проверить функцию кодировки символов ПК-01. Давным давно у меня эта функция. И уже не помню проверял ли я её на правильность. Подскажите, с чем её сверить или может кто-то знает наизусть и сразу скажет правильная ли она. Саму процедуру и результат работы кидаю сюда. (Процедура может пригодиться какому-то Дельфинщику. ) Code: function Koi(code:Cardinal):char; // Кодировка во львове КОИ-7 (либо (КОИ-8) позиция строке соответсвует коду в кодировке Львова const KOD_LV_Str:string=' _ !"#$%&`()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_юабцдефгхийклмнопярстужвьызшэщч '; begin Koi:=KOD_LV_Str[code];end; procedure TForm1.btn1Click(Sender: TObject); Var c:Cardinal; begin For c:=1 to 255 do begin mmo1.Lines.Add('$'+IntToHex(c,2)+ ' ('+IntToStr(c)+') - '+Koi(c)); end; end;Результат работы Code: $01 (1) - $02 (2) - $03 (3) - $04 (4) - $05 (5) - $06 (6) - $07 (7) - $08 (8) - $09 (9) - $0A (10) - $0B (11) - $0C (12) - $0D (13) - $0E (14) - $0F (15) - $10 (16) - $11 (17) - $12 (18) - $13 (19) - $14 (20) - $15 (21) - $16 (22) - $17 (23) - $18 (24) - $19 (25) - $1A (26) - $1B (27) - $1C (28) - $1D (29) - $1E (30) - $1F (31) - _ $20 (32) - $21 (33) - ! $22 (34) - " $23 (35) - # $24 (36) - $ $25 (37) - % $26 (38) - & $27 (39) - ` $28 (40) - ( $29 (41) - ) $2A (42) - * $2B (43) - + $2C (44) - , $2D (45) - - $2E (46) - . $2F (47) - / $30 (48) - 0 $31 (49) - 1 $32 (50) - 2 $33 (51) - 3 $34 (52) - 4 $35 (53) - 5 $36 (54) - 6 $37 (55) - 7 $38 (56) - 8 $39 (57) - 9 $3A (58) - : $3B (59) - ; $3C (60) - < $3D (61) - = $3E (62) - > $3F (63) - ? $40 (64) - @ $41 (65) - A $42 (66) - B $43 (67) - C $44 (68) - D $45 (69) - E $46 (70) - F $47 (71) - G $48 (72) - H $49 (73) - I $4A (74) - J $4B (75) - K $4C (76) - L $4D (77) - M $4E (78) - N $4F (79) - O $50 (80) - P $51 (81) - Q $52 (82) - R $53 (83) - S $54 (84) - T $55 (85) - U $56 (86) - V $57 (87) - W $58 (88) - X $59 (89) - Y $5A (90) - Z $5B (91) - [ $5C (92) - \ $5D (93) - ] $5E (94) - ^ $5F (95) - _ $60 (96) - ю $61 (97) - а $62 (98) - б $63 (99) - ц $64 (100) - д $65 (101) - е $66 (102) - ф $67 (103) - г $68 (104) - х $69 (105) - и $6A (106) - й $6B (107) - к $6C (108) - л $6D (109) - м $6E (110) - н $6F (111) - о $70 (112) - п $71 (113) - я $72 (114) - р $73 (115) - с $74 (116) - т $75 (117) - у $76 (118) - ж $77 (119) - в $78 (120) - ь $79 (121) - ы $7A (122) - з $7B (123) - ш $7C (124) - э $7D (125) - щ $7E (126) - ч $7F (127) - $80 (128) - $81 (129) - $82 (130) - $83 (131) - $84 (132) - $85 (133) - $86 (134) - $87 (135) - $88 (136) - $89 (137) - $8A (138) - $8B (139) - $8C (140) - $8D (141) - $8E (142) - $8F (143) - $90 (144) - $91 (145) - $92 (146) - $93 (147) - $94 (148) - $95 (149) - $96 (150) - $97 (151) - $98 (152) - $99 (153) - $9A (154) - $9B (155) - $9C (156) - $9D (157) - $9E (158) - $9F (159) - $A0 (160) - $A1 (161) - $A2 (162) - $A3 (163) - $A4 (164) - $A5 (165) - $A6 (166) - $A7 (167) - $A8 (168) - $A9 (169) - $AA (170) - $AB (171) - $AC (172) - $AD (173) - $AE (174) - $AF (175) - $B0 (176) - $B1 (177) - $B2 (178) - $B3 (179) - $B4 (180) - $B5 (181) - $B6 (182) - $B7 (183) - $B8 (184) - $B9 (185) - $BA (186) - $BB (187) - $BC (188) - $BD (189) - $BE (190) - $BF (191) - $C0 (192) - $C1 (193) - $C2 (194) - $C3 (195) - $C4 (196) - $C5 (197) - $C6 (198) - $C7 (199) - $C8 (200) - $C9 (201) - $CA (202) - $CB (203) - $CC (204) - $CD (205) - $CE (206) - $CF (207) - $D0 (208) - $D1 (209) - $D2 (210) - $D3 (211) - $D4 (212) - $D5 (213) - $D6 (214) - $D7 (215) - $D8 (216) - $D9 (217) - $DA (218) - $DB (219) - $DC (220) - $DD (221) - $DE (222) - $DF (223) - $E0 (224) - $E1 (225) - $E2 (226) - $E3 (227) - $E4 (228) - $E5 (229) - $E6 (230) - $E7 (231) - $E8 (232) - $E9 (233) - $EA (234) - $EB (235) - $EC (236) - $ED (237) - $EE (238) - $EF (239) - $F0 (240) - $F1 (241) - $F2 (242) - $F3 (243) - $F4 (244) - $F5 (245) - $F6 (246) - $F7 (247) - $F8 (248) - $F9 (249) - $FA (250) - $FB (251) - $FC (252) - $FD (253) - $FE (254) - $FF (255) - |
Author: | sadfsdfsdaf [ 31 Jul 2020, 14:17 ] |
Post subject: | Re: Проверить функцию кодировки символов ПК-01 |
Сверить её проще всего со знакогенератором, заменять прямую кавычку (апостроф 0x27) на обратную не стоило - это разные символы. Code: 20 ED00 21 ED08 22 ED10 23 ED18 24 ED20 25 ED28 26 ED30 27 ED38 ........ ..@..... .@.@.... .@.@.... @...@... @@..@... ..@..... ..@..... ........ ..@..... .@.@.... .@.@.... .@@@.... @@..@... .@.@.... .@...... ........ ..@..... .@.@.... @@@@@... @...@... ...@.... .@.@.... @....... ........ ..@..... ........ .@.@.... @...@... ..@..... .@@..... ........ ........ ........ ........ @@@@@... @...@... .@...... @.@.@... ........ ........ ........ ........ .@.@.... .@@@.... @..@@... @..@.... ........ ........ ..@..... ........ .@.@.... @...@... @..@@... .@@.@... ........ ........ ........ ........ ........ ........ ........ ........ ........ 28 ED40 29 ED48 2A ED50 2B ED58 2C ED60 2D ED68 2E ED70 2F ED78 ...@.... .@...... ........ ........ ........ ........ ........ ....@... ..@..... ..@..... ..@..... ..@..... ........ ........ ........ ....@... .@...... ...@.... @.@.@... ..@..... ........ ........ ........ ...@.... .@...... ...@.... .@@@.... @@@@@... .@@..... .@@@.... ........ ..@..... .@...... ...@.... @.@.@... ..@..... .@@..... ........ .@@..... .@...... ..@..... ..@..... ..@..... ..@..... ..@..... ........ .@@..... @....... ...@.... .@...... ........ ........ .@...... ........ .@@..... @....... ........ ........ ........ ........ ........ ........ ........ ........ 30 ED80 31 ED88 32 ED90 33 ED98 34 EDA0 35 EDA8 36 EDB0 37 EDB8 .@@@.... ..@..... .@@@.... @@@@@... ...@.... @@@@@... ..@@.... @@@@@... @...@... .@@..... @...@... ...@.... ..@@.... @....... .@...... ....@... @..@@... @.@..... ....@... ..@..... .@.@.... @@@@.... @....... ...@.... @.@.@... ..@..... ...@.... ...@.... @..@.... ....@... @@@@.... ..@..... @@..@... ..@..... .@@..... ....@... @@@@@... ....@... @...@... .@...... @...@... ..@..... @....... @...@... ...@.... @...@... @...@... .@...... .@@@.... @@@@@... @@@@@... .@@@.... ...@.... .@@@.... .@@@.... .@...... ........ ........ ........ ........ ........ ........ ........ ........ 38 EDC0 39 EDC8 3A EDD0 3B EDD8 3C EDE0 3D EDE8 3E EDF0 3F EDF8 .@@@.... .@@@.... ........ .@@..... ....@... ........ @....... .@@@.... @...@... @...@... .@@..... .@@..... ...@.... ........ .@...... @...@... @...@... @...@... .@@..... ........ ..@..... @@@@@... ..@..... ....@... .@@@.... .@@@@... ........ .@@..... .@...... ........ ...@.... ...@.... @...@... ....@... ........ .@@..... ..@..... @@@@@... ..@..... ..@..... @...@... ...@.... .@@..... ..@..... ...@.... ........ .@...... ........ .@@@.... .@@..... .@@..... .@...... ....@... ........ @....... ..@..... ........ ........ ........ ........ ........ ........ ........ ........ 40 EE00 41 EE08 42 EE10 43 EE18 44 EE20 45 EE28 46 EE30 47 EE38 .@@@.... .@@@.... @@@@.... .@@@.... @@@..... @@@@@... @@@@@... .@@@.... @...@... @...@... @...@... @...@... @..@.... @....... @....... @...@... @.@@@... @...@... @...@... @....... @...@... @....... @....... @....... @.@.@... @@@@@... @@@@.... @....... @...@... @@@@.... @@@@.... @..@@... @.@@@... @...@... @...@... @....... @...@... @....... @....... @...@... @....... @...@... @...@... @...@... @..@.... @....... @....... @...@... .@@@.... @...@... @@@@.... .@@@.... @@@..... @@@@@... @....... .@@@@... ........ ........ ........ ........ ........ ........ ........ ........ 48 EE40 49 EE48 4A EE50 4B EE58 4C EE60 4D EE68 4E EE70 4F EE78 @...@... .@@@.... ..@@@... @...@... @....... @...@... @...@... .@@@.... @...@... ..@..... ...@.... @..@.... @....... @@.@@... @...@... @...@... @...@... ..@..... ...@.... @.@..... @....... @.@.@... @@..@... @...@... @@@@@... ..@..... ...@.... @@...... @....... @.@.@... @.@.@... @...@... @...@... ..@..... @..@.... @.@..... @....... @...@... @..@@... @...@... @...@... ..@..... @..@.... @..@.... @....... @...@... @...@... @...@... @...@... .@@@.... .@@..... @...@... @@@@@... @...@... @...@... .@@@.... ........ ........ ........ ........ ........ ........ ........ ........ 50 EE80 51 EE88 52 EE90 53 EE98 54 EEA0 55 EEA8 56 EEB0 57 EEB8 @@@@.... .@@@.... @@@@.... .@@@@... @@@@@... @...@... @...@... @...@... @...@... @...@... @...@... @...@... ..@..... @...@... @...@... @...@... @...@... @...@... @...@... @....... ..@..... @...@... @...@... @...@... @@@@.... @...@... @@@@.... .@@@.... ..@..... @...@... .@.@.... @.@.@... @....... @.@.@... @.@..... ....@... ..@..... @...@... .@.@.... @@@@@... @....... @..@.... @..@.... @...@... ..@..... @...@... ..@..... @@.@@... @....... .@@.@... @...@... @@@@.... ..@..... .@@@.... ..@..... @...@... ........ ........ ........ ........ ........ ........ ........ ........ 58 EEC0 59 EEC8 5A EED0 5B EED8 5C EEE0 5D EEE8 5E EEF0 5F EEF8 @...@... @...@... @@@@@... .@@@.... @....... .@@@.... ........ ........ @...@... @...@... ....@... .@...... @....... ...@.... ........ ........ .@.@.... @...@... ...@.... .@...... .@...... ...@.... ..@..... ........ ..@..... .@@@.... ..@..... .@...... ..@..... ...@.... .@.@.... ........ .@.@.... ..@..... .@...... .@...... ...@.... ...@.... @...@... ........ @...@... ..@..... @....... .@...... ....@... ...@.... ........ ........ @...@... ..@..... @@@@@... .@@@.... ....@... .@@@.... ........ @@@@@@.. ........ ........ ........ ........ ........ ........ ........ ........ 60 EF00 61 EF08 62 EF10 63 EF18 64 EF20 65 EF28 66 EF30 67 EF38 @.@@@... .@@@.... @@@@@... @..@.... ..@@.... @@@@@... .@@@.... @@@@@... @.@.@... @...@... @....... @..@.... .@.@.... @....... @.@.@... @....... @.@.@... @...@... @....... @..@.... .@.@.... @....... @.@.@... @....... @@@.@... @@@@@... @@@@.... @..@.... .@.@.... @@@@.... @.@.@... @....... @.@.@... @...@... @...@... @..@.... .@.@.... @....... .@@@.... @....... @.@.@... @...@... @...@... @@@@@... @@@@@... @....... ..@..... @....... @.@@@... @...@... @@@@.... ....@... @...@... @@@@@... ..@..... @....... ........ ........ ........ ........ ........ ........ ........ ........ 68 EF40 69 EF48 6A EF50 6B EF58 6C EF60 6D EF68 6E EF70 6F EF78 @...@... @...@... ..@..... @...@... ...@@... @...@... @...@... .@@@.... @...@... @...@... @.@.@... @..@.... ..@.@... @@.@@... @...@... @...@... .@.@.... @...@... @...@... @.@..... .@..@... @.@.@... @...@... @...@... ..@..... @..@@... @..@@... @@...... .@..@... @.@.@... @@@@@... @...@... .@.@.... @.@.@... @.@.@... @.@..... .@..@... @...@... @...@... @...@... @...@... @@..@... @@..@... @..@.... .@..@... @...@... @...@... @...@... @...@... @...@... @...@... @...@... @...@... @...@... @...@... .@@@.... ........ ........ ........ ........ ........ ........ ........ ........ 70 EF80 71 EF88 72 EF90 73 EF98 74 EFA0 75 EFA8 76 EFB0 77 EFB8 @@@@@... .@@@@... @@@@.... .@@@.... @@@@@... @...@... @.@.@... @@@@.... @...@... @...@... @...@... @...@... ..@..... @...@... @.@.@... @...@... @...@... @...@... @...@... @....... ..@..... @...@... @.@.@... @...@... @...@... .@@@@... @@@@.... @....... ..@..... .@@@@... .@@@.... @@@@.... @...@... ..@.@... @....... @....... ..@..... ....@... @.@.@... @...@... @...@... .@..@... @....... @...@... ..@..... ....@... @.@.@... @...@... @...@... @...@... @....... .@@@.... ..@..... @@@@.... @.@.@... @@@@.... ........ ........ ........ ........ ........ ........ ........ ........ 78 EFC0 79 EFC8 7A EFD0 7B EFD8 7C EFE0 7D EFE8 7E EFF0 7F EFF8 @....... @...@... .@@@.... @.@.@... @@@@.... @.@.@... @...@... ........ @....... @...@... @...@... @.@.@... ....@... @.@.@... @...@... .@....@. @....... @...@... ....@... @.@.@... ....@... @.@.@... @...@... ........ @@@@.... @@@.@... ..@@.... @.@.@... .@@@@... @.@.@... @@@@@... .@....@. @...@... @.@.@... ....@... @.@.@... ....@... @.@.@... ....@... ........ @...@... @.@.@... @...@... @.@.@... ....@... @@@@@... ....@... .@....@. @@@@.... @@@.@... .@@@.... @@@@@... @@@@.... ....@... ....@... ........ ........ ........ ........ ........ ........ ........ ........ .@....@.Тут код символа, смещение и сам символ. А это скрипт, которым получен шрифт. Code: #!/usr/bin/perl open F,"<BIOS_20.LVT" or die; binmode F; read F, $d, -s F; close F; $d = substr $d, 0x16; $p = $pp = 0; for ($o = 0x2D00; $o < 0x3000; $o++) { $x = unpack "B*", substr($d, $o, 1); $x =~ y/01/.\@/; $n = 0x20 + (($o - 0x2D00) >> 3) if ($o & 7) == 0; $x[$p++] .= sprintf(" %02X %04X", $n, 0xC000 + $o) if ($o & 7) == 0; $x[$p++] .= " $x"; if (($o & 7) == 7) { $x[$p++] .= ""; $p = $pp; $p = ($pp += 10) if ($n & 7) == 7; }; } print join "\n", @x; |
Page 1 of 1 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |