Guest User

Untitled

a guest
May 22nd, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.83 KB | None | 0 0
  1. $digit = "0123456789";
  2. $lower = "abcdefghijklmnopqrstuvwxyz";
  3. $upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  4.  
  5. function hex(%this)
  6. {
  7.     %hex0 = "00";   %hex1 = "01";   %hex2 = "02";   %hex3 = "03";   %hex4 = "04";   %hex5 = "05";   %hex6 = "06";   %hex7 = "07";
  8.     %hex8 = "08";   %hex9 = "09";   %hex10 = "0A";  %hex11 = "0B";  %hex12 = "0C";  %hex13 = "0D";  %hex14 = "0E";  %hex15 = "0F";
  9.     %hex16 = "10";  %hex17 = "11";  %hex18 = "12";  %hex19 = "13";  %hex20 = "14";  %hex21 = "15";  %hex22 = "16";  %hex23 = "17";
  10.     %hex24 = "18";  %hex25 = "19";  %hex26 = "1A";  %hex27 = "1B";  %hex28 = "1C";  %hex29 = "1D";  %hex30 = "1E";  %hex31 = "1F";
  11.     %hex32 = "20";  %hex33 = "21";  %hex34 = "22";  %hex35 = "23";  %hex36 = "24";  %hex37 = "25";  %hex38 = "26";  %hex39 = "27";
  12.     %hex40 = "28";  %hex41 = "29";  %hex42 = "2A";  %hex43 = "2B";  %hex44 = "2C";  %hex45 = "2D";  %hex46 = "2E";  %hex47 = "2F";
  13.     %hex48 = "30";  %hex49 = "31";  %hex50 = "32";  %hex51 = "33";  %hex52 = "34";  %hex53 = "35";  %hex54 = "36";  %hex55 = "37";
  14.     %hex56 = "38";  %hex57 = "39";  %hex58 = "3A";  %hex59 = "3B";  %hex60 = "3C";  %hex61 = "3D";  %hex62 = "3E";  %hex63 = "3F";
  15.     %hex64 = "40";  %hex65 = "41";  %hex66 = "42";  %hex67 = "43";  %hex68 = "44";  %hex69 = "45";  %hex70 = "46";  %hex71 = "47";
  16.     %hex72 = "48";  %hex73 = "49";  %hex74 = "4A";  %hex75 = "4B";  %hex76 = "4C";  %hex77 = "4D";  %hex78 = "4E";  %hex79 = "4F";
  17.     %hex80 = "50";  %hex81 = "51";  %hex82 = "52";  %hex83 = "53";  %hex84 = "54";  %hex85 = "55";  %hex86 = "56";  %hex87 = "57";
  18.     %hex88 = "58";  %hex89 = "59";  %hex90 = "5A";  %hex91 = "5B";  %hex92 = "5C";  %hex93 = "5D";  %hex94 = "5E";  %hex95 = "5F";
  19.     %hex96 = "60";  %hex97 = "61";  %hex98 = "62";  %hex99 = "63";  %hex100 = "64"; %hex101 = "65"; %hex102 = "66"; %hex103 = "67";
  20.     %hex104 = "68"; %hex105 = "69"; %hex106 = "6A"; %hex107 = "6B"; %hex108 = "6C"; %hex109 = "6D"; %hex110 = "6E"; %hex111 = "6F";
  21.     %hex112 = "70"; %hex113 = "71"; %hex114 = "72"; %hex115 = "73"; %hex116 = "74"; %hex117 = "75"; %hex118 = "76"; %hex119 = "77";
  22.     %hex120 = "78"; %hex121 = "79"; %hex122 = "7A"; %hex123 = "7B"; %hex124 = "7C"; %hex125 = "7D"; %hex126 = "7E"; %hex127 = "7F";
  23.     %hex128 = "80"; %hex129 = "81"; %hex130 = "82"; %hex131 = "83"; %hex132 = "84"; %hex133 = "85"; %hex134 = "86"; %hex135 = "87";
  24.     %hex136 = "88"; %hex137 = "89"; %hex138 = "8A"; %hex139 = "8B"; %hex140 = "8C"; %hex141 = "8D"; %hex142 = "8E"; %hex143 = "8F";
  25.     %hex144 = "90"; %hex145 = "91"; %hex146 = "92"; %hex147 = "93"; %hex148 = "94"; %hex149 = "95"; %hex150 = "96"; %hex151 = "97";
  26.     %hex152 = "98"; %hex153 = "99"; %hex154 = "9A"; %hex155 = "9B"; %hex156 = "9C"; %hex157 = "9D"; %hex158 = "9E"; %hex159 = "9F";
  27.     %hex160 = "A0"; %hex161 = "A1"; %hex162 = "A2"; %hex163 = "A3"; %hex164 = "A4"; %hex165 = "A5"; %hex166 = "A6"; %hex167 = "A7";
  28.     %hex168 = "A8"; %hex169 = "A9"; %hex170 = "AA"; %hex171 = "AB"; %hex172 = "AC"; %hex173 = "AD"; %hex174 = "AE"; %hex175 = "AF";
  29.     %hex176 = "B0"; %hex177 = "B1"; %hex178 = "B2"; %hex179 = "B3"; %hex180 = "B4"; %hex181 = "B5"; %hex182 = "B6"; %hex183 = "B7";
  30.     %hex184 = "B8"; %hex185 = "B9"; %hex186 = "BA"; %hex187 = "BB"; %hex188 = "BC"; %hex189 = "BD"; %hex190 = "BE"; %hex191 = "BF";
  31.     %hex192 = "C0"; %hex193 = "C1"; %hex194 = "C2"; %hex195 = "C3"; %hex196 = "C4"; %hex197 = "C5"; %hex198 = "C6"; %hex199 = "C7";
  32.     %hex200 = "C8"; %hex201 = "C9"; %hex202 = "CA"; %hex203 = "CB"; %hex204 = "CC"; %hex205 = "CD"; %hex206 = "CE"; %hex207 = "CF";
  33.     %hex208 = "D0"; %hex209 = "D1"; %hex210 = "D2"; %hex211 = "D3"; %hex212 = "D4"; %hex213 = "D5"; %hex214 = "D6"; %hex215 = "D7";
  34.     %hex216 = "D8"; %hex217 = "D9"; %hex218 = "DA"; %hex219 = "DB"; %hex220 = "DC"; %hex221 = "DD"; %hex222 = "DE"; %hex223 = "DF";
  35.     %hex224 = "E0"; %hex225 = "E1"; %hex226 = "E2"; %hex227 = "E3"; %hex228 = "E4"; %hex229 = "E5"; %hex230 = "E6"; %hex231 = "E7";
  36.     %hex232 = "E8"; %hex233 = "E9"; %hex234 = "EA"; %hex235 = "EB"; %hex236 = "EC"; %hex237 = "ED"; %hex238 = "EE"; %hex239 = "EF";
  37.     %hex240 = "F0"; %hex241 = "F1"; %hex242 = "F2"; %hex243 = "F3"; %hex244 = "F4"; %hex245 = "F5"; %hex246 = "F6"; %hex247 = "F7";
  38.     %hex248 = "F8"; %hex249 = "F9"; %hex250 = "FA"; %hex251 = "FB"; %hex252 = "FC"; %hex253 = "FD"; %hex254 = "FE"; %hex255 = "FF";
  39.     return %hex[%this];
  40. }
  41.  
  42. function txt(%this)
  43. {
  44.     %txt0 = "\x00";     %txt1 = "\x01";     %txt2 = "\x02";     %txt3 = "\x03";     %txt4 = "\x04";     %txt5 = "\x05";     %txt6 = "\x06";     %txt7 = "\x07";
  45.     %txt8 = "\x08";     %txt9 = "\x09";     %txt10 = "\x0A";    %txt11 = "\x0B";    %txt12 = "\x0C";    %txt13 = "\x0D";    %txt14 = "\x0E";    %txt15 = "\x0F";
  46.     %txt16 = "\x10";    %txt17 = "\x11";    %txt18 = "\x12";    %txt19 = "\x13";    %txt20 = "\x14";    %txt21 = "\x15";    %txt22 = "\x16";    %txt23 = "\x17";
  47.     %txt24 = "\x18";    %txt25 = "\x19";    %txt26 = "\x1A";    %txt27 = "\x1B";    %txt28 = "\x1C";    %txt29 = "\x1D";    %txt30 = "\x1E";    %txt31 = "\x1F";
  48.     %txt32 = "\x20";    %txt33 = "\x21";    %txt34 = "\x22";    %txt35 = "\x23";    %txt36 = "\x24";    %txt37 = "\x25";    %txt38 = "\x26";    %txt39 = "\x27";
  49.     %txt40 = "\x28";    %txt41 = "\x29";    %txt42 = "\x2A";    %txt43 = "\x2B";    %txt44 = "\x2C";    %txt45 = "\x2D";    %txt46 = "\x2E";    %txt47 = "\x2F";
  50.     %txt48 = "\x30";    %txt49 = "\x31";    %txt50 = "\x32";    %txt51 = "\x33";    %txt52 = "\x34";    %txt53 = "\x35";    %txt54 = "\x36";    %txt55 = "\x37";
  51.     %txt56 = "\x38";    %txt57 = "\x39";    %txt58 = "\x3A";    %txt59 = "\x3B";    %txt60 = "\x3C";    %txt61 = "\x3D";    %txt62 = "\x3E";    %txt63 = "\x3F";
  52.     %txt64 = "\x40";    %txt65 = "\x41";    %txt66 = "\x42";    %txt67 = "\x43";    %txt68 = "\x44";    %txt69 = "\x45";    %txt70 = "\x46";    %txt71 = "\x47";
  53.     %txt72 = "\x48";    %txt73 = "\x49";    %txt74 = "\x4A";    %txt75 = "\x4B";    %txt76 = "\x4C";    %txt77 = "\x4D";    %txt78 = "\x4E";    %txt79 = "\x4F";
  54.     %txt80 = "\x50";    %txt81 = "\x51";    %txt82 = "\x52";    %txt83 = "\x53";    %txt84 = "\x54";    %txt85 = "\x55";    %txt86 = "\x56";    %txt87 = "\x57";
  55.     %txt88 = "\x58";    %txt89 = "\x59";    %txt90 = "\x5A";    %txt91 = "\x5B";    %txt92 = "\x5C";    %txt93 = "\x5D";    %txt94 = "\x5E";    %txt95 = "\x5F";
  56.     %txt96 = "\x60";    %txt97 = "\x61";    %txt98 = "\x62";    %txt99 = "\x63";    %txt100 = "\x64";   %txt101 = "\x65";   %txt102 = "\x66";   %txt103 = "\x67";
  57.     %txt104 = "\x68";   %txt105 = "\x69";   %txt106 = "\x6A";   %txt107 = "\x6B";   %txt108 = "\x6C";   %txt109 = "\x6D";   %txt110 = "\x6E";   %txt111 = "\x6F";
  58.     %txt112 = "\x70";   %txt113 = "\x71";   %txt114 = "\x72";   %txt115 = "\x73";   %txt116 = "\x74";   %txt117 = "\x75";   %txt118 = "\x76";   %txt119 = "\x77";
  59.     %txt120 = "\x78";   %txt121 = "\x79";   %txt122 = "\x7A";   %txt123 = "\x7B";   %txt124 = "\x7C";   %txt125 = "\x7D";   %txt126 = "\x7E";   %txt127 = "\x7F";
  60.     %txt128 = "\x80";   %txt129 = "\x81";   %txt130 = "\x82";   %txt131 = "\x83";   %txt132 = "\x84";   %txt133 = "\x85";   %txt134 = "\x86";   %txt135 = "\x87";
  61.     %txt136 = "\x88";   %txt137 = "\x89";   %txt138 = "\x8A";   %txt139 = "\x8B";   %txt140 = "\x8C";   %txt141 = "\x8D";   %txt142 = "\x8E";   %txt143 = "\x8F";
  62.     %txt144 = "\x90";   %txt145 = "\x91";   %txt146 = "\x92";   %txt147 = "\x93";   %txt148 = "\x94";   %txt149 = "\x95";   %txt150 = "\x96";   %txt151 = "\x97";
  63.     %txt152 = "\x98";   %txt153 = "\x99";   %txt154 = "\x9A";   %txt155 = "\x9B";   %txt156 = "\x9C";   %txt157 = "\x9D";   %txt158 = "\x9E";   %txt159 = "\x9F";
  64.     %txt160 = "\xA0";   %txt161 = "\xA1";   %txt162 = "\xA2";   %txt163 = "\xA3";   %txt164 = "\xA4";   %txt165 = "\xA5";   %txt166 = "\xA6";   %txt167 = "\xA7";
  65.     %txt168 = "\xA8";   %txt169 = "\xA9";   %txt170 = "\xAA";   %txt171 = "\xAB";   %txt172 = "\xAC";   %txt173 = "\xAD";   %txt174 = "\xAE";   %txt175 = "\xAF";
  66.     %txt176 = "\xB0";   %txt177 = "\xB1";   %txt178 = "\xB2";   %txt179 = "\xB3";   %txt180 = "\xB4";   %txt181 = "\xB5";   %txt182 = "\xB6";   %txt183 = "\xB7";
  67.     %txt184 = "\xB8";   %txt185 = "\xB9";   %txt186 = "\xBA";   %txt187 = "\xBB";   %txt188 = "\xBC";   %txt189 = "\xBD";   %txt190 = "\xBE";   %txt191 = "\xBF";
  68.     %txt192 = "\xC0";   %txt193 = "\xC1";   %txt194 = "\xC2";   %txt195 = "\xC3";   %txt196 = "\xC4";   %txt197 = "\xC5";   %txt198 = "\xC6";   %txt199 = "\xC7";
  69.     %txt200 = "\xC8";   %txt201 = "\xC9";   %txt202 = "\xCA";   %txt203 = "\xCB";   %txt204 = "\xCC";   %txt205 = "\xCD";   %txt206 = "\xCE";   %txt207 = "\xCF";
  70.     %txt208 = "\xD0";   %txt209 = "\xD1";   %txt210 = "\xD2";   %txt211 = "\xD3";   %txt212 = "\xD4";   %txt213 = "\xD5";   %txt214 = "\xD6";   %txt215 = "\xD7";
  71.     %txt216 = "\xD8";   %txt217 = "\xD9";   %txt218 = "\xDA";   %txt219 = "\xDB";   %txt220 = "\xDC";   %txt221 = "\xDD";   %txt222 = "\xDE";   %txt223 = "\xDF";
  72.     %txt224 = "\xE0";   %txt225 = "\xE1";   %txt226 = "\xE2";   %txt227 = "\xE3";   %txt228 = "\xE4";   %txt229 = "\xE5";   %txt230 = "\xE6";   %txt231 = "\xE7";
  73.     %txt232 = "\xE8";   %txt233 = "\xE9";   %txt234 = "\xEA";   %txt235 = "\xEB";   %txt236 = "\xEC";   %txt237 = "\xED";   %txt238 = "\xEE";   %txt239 = "\xEF";
  74.     %txt240 = "\xF0";   %txt241 = "\xF1";   %txt242 = "\xF2";   %txt243 = "\xF3";   %txt244 = "\xF4";   %txt245 = "\xF5";   %txt246 = "\xF6";   %txt247 = "\xF7";
  75.     %txt248 = "\xF8";   %txt249 = "\xF9";   %txt250 = "\xFA";   %txt251 = "\xFB";   %txt252 = "\xFC";   %txt253 = "\xFD";   %txt254 = "\xFE";   %txt255 = "\xFF";
  76.     return %txt[%this];
  77. }
  78.  
  79. function Hex::toTxt(%this)
  80. {
  81.     for(%i = 0; %i < 256; %i++)
  82.     {
  83.         if(%this == hex(%i))
  84.             return txt(%i);
  85.     }
  86. }
  87.  
  88. function Txt::toHex(%this)
  89. {
  90.     for(%i = 0; %i < 256; %i++)
  91.     {
  92.         if(%this == txt(%i))
  93.             return hex(%i);
  94.     }
  95. }
  96.  
  97. function Ascii::toString(%this)
  98. {
  99.     for(%i = 0; (%c = String::getSubStr(%this, %i, 2)) != ""; %i += 2)
  100.         %r = %r @ Hex::toTxt(%c);
  101.     return %r;
  102. }
  103.  
  104. function String::toAscii(%this)
  105. {
  106.     for(%i = 0; (%c = String::getSubStr(%this, %i, 1)) != ""; %i++)
  107.         %r = %r @ Txt::toHex(%c);
  108.     return %r;
  109. }
  110.  
  111. function String::toLower(%this)
  112. {
  113.     return String::replaceChar(%this, $upper, $lower);
  114. }
  115.  
  116. function String::toUnder(%this)
  117. {
  118.     for(%i = 0; (%c = String::getSubStr(%this, %i, 1)) != ""; %i++)
  119.         %r = %r @ getWord(String::getSubStr(%edit, String::findSubStr($upper @ $lower @ $digit, %c), 1) @" _", 0);
  120.     return %r;
  121. }
  122.  
  123. function String::toUpper(%this)
  124. {
  125.     return String::replaceChar(%this, $lower, $upper);
  126. }
  127.  
  128.  
  129. function String::replaceChar(%this, %find, %edit)
  130. {
  131.     for(%i = 0; (%c = String::getSubStr(%this, %i, 1)) != ""; %i++)
  132.     {
  133.         if(%c == " ")
  134.             %r = %r @" ";
  135.         else
  136.             %r = %r @ getWord(%c @" "@ String::getSubStr(%edit, String::findSubStr(%find, %c), 1), 0);
  137.     }
  138.     return %r;
  139. }
Add Comment
Please, Sign In to add comment