📄 helper.cpp
字号:
// Helper.cpp: implementation of the Helper class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "agsm2.h"
#include "Helper.h"
#include "malloc.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#define TOHEX(a, b) {*b++ = hextable[a >> 4];*b++ = hextable[a&0xf];}
#define BCDTOASCII(a,b) {*b++ = bcdtable[a&0xf]; *b++ = bcdtable[a >> 4];}
char Helper::hextable[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char Helper::bcdtable[16] = {'0','1','2','3','4','5','6','7','8','9','*','#','a','b','c','\0'};
static WCHAR gTable_AlphabetToUnicode[] = {
64, //0 COMMERCIAL AT @ 64
163, //1 POUND SIGN £ 163
36, //2 DOLLAR SIGN $ 36
165, //3 YEN SIGN ¥ 165
232, //4 LATIN SMALL LETTER E WITH GRAVE è 232
233, //5 LATIN SMALL LETTER E WITH ACUTE é 233
249, //6 LATIN SMALL LETTER U WITH GRAVE ù 249
236, //7 LATIN SMALL LETTER I WITH GRAVE ì 236
242, //8 LATIN SMALL LETTER O WITH GRAVE ò 242
199, //9 LATIN CAPITAL LETTER C WITH CEDILLA ? 199
10, //10 LINE FEED 10
216, //11 LATIN CAPITAL LETTER O WITH STROKE ? 216
248, //12 LATIN SMALL LETTER O WITH STROKE ? 248
13, //13 CARRIAGE RETURN 13
197, //14 LATIN CAPITAL LETTER A WITH RING ABOVE ? 197
229, //15 LATIN SMALL LETTER A WITH RING ABOVE ? 229
916, //16 GREEK CAPITAL LETTER DELTA Δ
95, //17 LOW LINE _ 95
934, //18 GREEK CAPITAL LETTER PHI Φ
915, //19 GREEK CAPITAL LETTER GAMMA Γ
923, //20 GREEK CAPITAL LETTER LAMBDA Λ
937, //21 GREEK CAPITAL LETTER OMEGA Ω
928, //22 GREEK CAPITAL LETTER PI Π
968, //23 GREEK CAPITAL LETTER PSI Ψ
931, //24 GREEK CAPITAL LETTER SIGMA Σ
952, //25 GREEK CAPITAL LETTER THETA Θ
926, //26 GREEK CAPITAL LETTER XI Ξ
27, //27 ESCAPE TO EXTENSION TABLE
198, //28 LATIN CAPITAL LETTER AE ? 198
230, //29 LATIN SMALL LETTER AE ? 230
223, //30 LATIN SMALL LETTER SHARP S (German) ? 223
201, //31 LATIN CAPITAL LETTER E WITH ACUTE é 201
32, //32 SPACE 32
33, //33 EXCLAMATION MARK ! 33
34, //34 QUOTATION MARK " 34
35, //35 NUMBER SIGN # 35
36, //36 CURRENCY SIGN ¤ 164 (ISO-8859-1)
37, //37 PERCENT SIGN % 37
38, //38 AMPERSAND & 38
39, //39 APOSTROPHE ' 39
40, //40 LEFT PARENTHESIS ( 40
41, //41 RIGHT PARENTHESIS ) 41
42, //42 ASTERISK * 42
43, //43 PLUS SIGN + 43
44, //44 COMMA , 44
45, //45 HYPHEN-MINUS - 45
46, //46 FULL STOP . 46
47, //47 SOLIDUS (SLASH) / 47
48, //48 DIGIT ZERO 0 48
49, //49 DIGIT ONE 1 49
50, //50 DIGIT TWO 2 50
51, //51 DIGIT THREE 3 51
52, //52 DIGIT FOUR 4 52
53, //53 DIGIT FIVE 5 53
54, //54 DIGIT SIX 6 54
55, //55 DIGIT SEVEN 7 55
56, //56 DIGIT EIGHT 8 56
57, //57 DIGIT NINE 9 57
58, //58 COLON : 58
59, //59 SEMICOLON ; 59
60, //60 LESS-THAN SIGN < 60
61, //61 EQUALS SIGN = 61
62, //62 GREATER-THAN SIGN > 62
63, //63 QUESTION MARK ? 63
64, //64 INVERTED EXCLAMATION MARK ? 161
65, //65 LATIN CAPITAL LETTER A A 65
66, //66 LATIN CAPITAL LETTER B B 66
67, //67 LATIN CAPITAL LETTER C C 67
68, //68 LATIN CAPITAL LETTER D D 68
69, //69 LATIN CAPITAL LETTER E E 69
70, //70 LATIN CAPITAL LETTER F F 70
71, //71 LATIN CAPITAL LETTER G G 71
72, //72 LATIN CAPITAL LETTER H H 72
73, //73 LATIN CAPITAL LETTER I I 73
74, //74 LATIN CAPITAL LETTER J J 74
75, //75 LATIN CAPITAL LETTER K K 75
76, //76 LATIN CAPITAL LETTER L L 76
77, //77 LATIN CAPITAL LETTER M M 77
78, //78 LATIN CAPITAL LETTER N N 78
79, //79 LATIN CAPITAL LETTER O O 79
80, //80 LATIN CAPITAL LETTER P P 80
81, //81 LATIN CAPITAL LETTER Q Q 81
82, //82 LATIN CAPITAL LETTER R R 82
83, //83 LATIN CAPITAL LETTER S S 83
84, //84 LATIN CAPITAL LETTER T T 84
85, //85 LATIN CAPITAL LETTER U U 85
86, //86 LATIN CAPITAL LETTER V V 86
87, //87 LATIN CAPITAL LETTER W W 87
88, //88 LATIN CAPITAL LETTER X X 88
89, //89 LATIN CAPITAL LETTER Y Y 89
90, //90 LATIN CAPITAL LETTER Z Z 90
91, //91 LATIN CAPITAL LETTER A WITH DIAERESIS ? 196
92, //92 LATIN CAPITAL LETTER O WITH DIAERESIS ? 214
93, //93 LATIN CAPITAL LETTER N WITH TILDE ? 209
94, //94 LATIN CAPITAL LETTER U WITH DIAERESIS ü 220
95, //95 SECTION SIGN § 167
96, //96 INVERTED QUESTION MARK ? 191
97, //97 LATIN SMALL LETTER A a 97
98, //98 LATIN SMALL LETTER B b 98
99, //99 LATIN SMALL LETTER C c 99
100, //100 LATIN SMALL LETTER D d 100
101, //101 LATIN SMALL LETTER E e 101
102, //102 LATIN SMALL LETTER F f 102
103, //103 LATIN SMALL LETTER G g 103
104, //104 LATIN SMALL LETTER H h 104
105, //105 LATIN SMALL LETTER I i 105
106, //106 LATIN SMALL LETTER J j 106
107, //107 LATIN SMALL LETTER K k 107
108, //108 LATIN SMALL LETTER L l 108
109, //109 LATIN SMALL LETTER M m 109
110, //110 LATIN SMALL LETTER N n 110
111, //111 LATIN SMALL LETTER O o 111
112, //112 LATIN SMALL LETTER P p 112
113, //113 LATIN SMALL LETTER Q q 113
114, //114 LATIN SMALL LETTER R r 114
115, //115 LATIN SMALL LETTER S s 115
116, //116 LATIN SMALL LETTER T t 116
117, //117 LATIN SMALL LETTER U u 117
118, //118 LATIN SMALL LETTER V v 118
119, //119 LATIN SMALL LETTER W w 119
120, //120 LATIN SMALL LETTER X x 120
121, //121 LATIN SMALL LETTER Y y 121
122, //122 LATIN SMALL LETTER Z z 122
123, //123 LATIN SMALL LETTER A WITH DIAERESIS ? 228
124, //124 LATIN SMALL LETTER O WITH DIAERESIS ? 246
125, //125 LATIN SMALL LETTER N WITH TILDE ? 241
126, //126 LATIN SMALL LETTER U WITH DIAERESIS ü 252
127, //127 LATIN SMALL LETTER A WITH GRAVE à 224
};
//template< class KEY, class ARG_KEY, class VALUE, class ARG_VALUE >class CMap : public CObject
typedef CMap<WCHAR,WCHAR,UCHAR,UCHAR &> CMapWCharToUChar;
static CMapWCharToUChar gMap_WCharTo7BitAlphabet;
/*
EXTENSION TABLE
0x1B0A 27 10 FORM FEED 12
0x1B14 27 20 CIRCUMFLEX ACCENT ^ 94
0x1B28 27 40 LEFT CURLY BRACKET { 123
0x1B29 27 41 RIGHT CURLY BRACKET } 125
0x1B2F 27 47 REVERSE SOLIDUS (BACKSLASH) \ 92
0x1B3C 27 60 LEFT SQUARE BRACKET [ 91
0x1B3D 27 61 TILDE ~ 126
0x1B3E 27 62 RIGHT SQUARE BRACKET ] 93
0x1B40 27 64 VERTICAL BAR | 124
0x1B65 27 101 EURO SIGN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -