url_encode

URL-Encodes a string according to RFC 1738
http://gmc.yoyogames.com/index.php?showtopic=630240

Arguments

  • url : the url to encode

Returns : string

Source code

  1. var str_out = "";
  2. var byte, char1, char2;
  3. var len = string_length(argument0);
  4. for (var i=1; i<=len; i++)
  5. {
  6.     byte = string_byte_at(argument0,i); 
  7.     if (byte < 32 || byte > 126 || byte == 36 || byte == 38 || byte == 43 || byte == 44 || byte == 47 || byte == 58 || byte == 59 || byte == 61 || byte == 63 || byte == 64 || byte == 32 || byte == 34 || byte == 60 || byte == 62 || byte == 35 || byte == 37 || byte == 123 || byte == 125 || byte == 124 || byte == 92 || byte == 94 || byte == 126 || byte == 91 || byte == 93 || byte == 96)
  8.     {
  9.         char1 = floor(byte/16);
  10.         char2 = byte - char1*16;
  11.  
  12.         if(char1 > 9)
  13.             char1 = chr(65 + char1-10); 
  14.         else
  15.             char1 = string(char1);
  16.  
  17.  
  18.         if(char2 > 9)
  19.             char2 = chr(65 + char2-10); 
  20.         else
  21.             char2 = string(char2);
  22.  
  23.  
  24.         str_out += "%"+char1+char2;
  25.     }
  26.     else
  27.     {
  28.         str_out += chr(byte);
  29.     }
  30. }
  31. return str_out;