⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 helper.cpp

📁 agsm a gsm sim manager for browsing, managing, and manipulating the phonebook,SMS on the SIM card. I
💻 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 + -