Помогите найти ошибку

npts
Offline
Зарегистрирован: 08.04.2016
Сделал конвертер из SMS в URL для передачи на сервер, но функция не работает. В str4 обрезается текст. Конвертируется только произвольный кусок первоначального текста...
String String_convert(String str, int type)
{
    String str2;
    str2.reserve(250);
    String str3;
    str3.reserve(250);
    String str4;
    str4.reserve(300);

    for (int i=0;i<str.length();i++)
    {

      if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='0' && str[i+3]=='A'){str2=str2+"\n";str3=str3+"\n";str4=str4+"%0A";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='0' && str[i+3]=='D'){str2=str2+"\r";str3=str3+"\r";str4=str4+"%0D";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='0'){str2=str2+" ";str3=str3+" ";str4=str4+"%20";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='1'){str2=str2+"!";str3=str3+"!";str4=str4+"%21";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='2'){str2=str2+"\"";str3=str3+"\"";str4=str4+"%22";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='3'){str2=str2+"#";str3=str3+"#";str4=str4+"%23";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='4'){str2=str2+"$";str3=str3+"$";str4=str4+"%24";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='5'){str2=str2+"%";str3=str3+"%";str4=str4+"%25";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='6'){str2=str2+"&";str3=str3+"&";str4=str4+"%26";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='7'){str2=str2+"'";str3=str3+"'";str4=str4+"%27";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='8'){str2=str2+"(";str3=str3+"(";str4=str4+"%28";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='9'){str2=str2+")";str3=str3+")";str4=str4+"%29";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='A'){str2=str2+"*";str3=str3+"*";str4=str4+"%2A";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='B'){str2=str2+"+";str3=str3+"+";str4=str4+"%2B";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='C'){str2=str2+",";str3=str3+",";str4=str4+"%2C";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='D'){str2=str2+"-";str3=str3+"-";str4=str4+"%2D";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='E'){str2=str2+".";str3=str3+".";str4=str4+"%2E";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='2' && str[i+3]=='F'){str2=str2+"/";str3=str3+"/";str4=str4+"%2F";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='0'){str2=str2+"0";str3=str3+"0";str4=str4+"0";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='1'){str2=str2+"1";str3=str3+"1";str4=str4+"1";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='2'){str2=str2+"2";str3=str3+"2";str4=str4+"2";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='3'){str2=str2+"3";str3=str3+"3";str4=str4+"3";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='4'){str2=str2+"4";str3=str3+"4";str4=str4+"4";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='5'){str2=str2+"5";str3=str3+"5";str4=str4+"5";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='6'){str2=str2+"6";str3=str3+"6";str4=str4+"6";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='7'){str2=str2+"7";str3=str3+"7";str4=str4+"7";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='8'){str2=str2+"8";str3=str3+"8";str4=str4+"8";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='9'){str2=str2+"9";str3=str3+"9";str4=str4+"9";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='A'){str2=str2+":";str3=str3+":";str4=str4+"%3A";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='B'){str2=str2+";";str3=str3+";";str4=str4+"%3B";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='C'){str2=str2+"<";str3=str3+"<";str4=str4+"%3C";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='D'){str2=str2+"=";str3=str3+"=";str4=str4+"%3D";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='E'){str2=str2+">";str3=str3+">";str4=str4+"%3E";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='3' && str[i+3]=='F'){str2=str2+"?";str3=str3+"?";str4=str4+"%3F";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='0'){str2=str2+"@";str3=str3+"@";str4=str4+"%40";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='1'){str2=str2+"A";str3=str3+"A";str4=str4+"A";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='2'){str2=str2+"B";str3=str3+"B";str4=str4+"B";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='3'){str2=str2+"C";str3=str3+"C";str4=str4+"C";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='4'){str2=str2+"D";str3=str3+"D";str4=str4+"D";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='5'){str2=str2+"E";str3=str3+"E";str4=str4+"E";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='6'){str2=str2+"F";str3=str3+"F";str4=str4+"F";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='7'){str2=str2+"G";str3=str3+"G";str4=str4+"G";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='8'){str2=str2+"H";str3=str3+"H";str4=str4+"H";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='9'){str2=str2+"I";str3=str3+"I";str4=str4+"I";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='A'){str2=str2+"J";str3=str3+"J";str4=str4+"J";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='B'){str2=str2+"K";str3=str3+"K";str4=str4+"K";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='C'){str2=str2+"L";str3=str3+"L";str4=str4+"L";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='D'){str2=str2+"M";str3=str3+"M";str4=str4+"M";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='E'){str2=str2+"N";str3=str3+"N";str4=str4+"N";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='4' && str[i+3]=='F'){str2=str2+"O";str3=str3+"O";str4=str4+"O";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='0'){str2=str2+"P";str3=str3+"P";str4=str4+"P";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='1'){str2=str2+"Q";str3=str3+"Q";str4=str4+"Q";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='2'){str2=str2+"R";str3=str3+"R";str4=str4+"R";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='3'){str2=str2+"S";str3=str3+"S";str4=str4+"S";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='4'){str2=str2+"T";str3=str3+"T";str4=str4+"T";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='5'){str2=str2+"U";str3=str3+"U";str4=str4+"U";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='6'){str2=str2+"V";str3=str3+"V";str4=str4+"V";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='7'){str2=str2+"W";str3=str3+"W";str4=str4+"W";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='8'){str2=str2+"X";str3=str3+"X";str4=str4+"X";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='9'){str2=str2+"Y";str3=str3+"Y";str4=str4+"Y";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='A'){str2=str2+"Z";str3=str3+"Z";str4=str4+"Z";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='B'){str2=str2+"[";str3=str3+"[";str4=str4+"[";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='C'){str2=str2+"\\";str3=str3+"\\";str4=str4+"\\";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='D'){str2=str2+"]";str3=str3+"]";str4=str4+"]";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='E'){str2=str2+"^";str3=str3+"^";str4=str4+"^";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='5' && str[i+3]=='F'){str2=str2+"_";str3=str3+"_";str4=str4+"_";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='0'){str2=str2+"`";str3=str3+"`";str4=str4+"`";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='1'){str2=str2+"a";str3=str3+"a";str4=str4+"a";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='2'){str2=str2+"b";str3=str3+"b";str4=str4+"b";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='3'){str2=str2+"c";str3=str3+"c";str4=str4+"c";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='4'){str2=str2+"d";str3=str3+"d";str4=str4+"d";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='5'){str2=str2+"e";str3=str3+"e";str4=str4+"e";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='6'){str2=str2+"f";str3=str3+"f";str4=str4+"f";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='7'){str2=str2+"g";str3=str3+"g";str4=str4+"g";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='8'){str2=str2+"h";str3=str3+"h";str4=str4+"h";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='9'){str2=str2+"i";str3=str3+"i";str4=str4+"i";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='A'){str2=str2+"j";str3=str3+"j";str4=str4+"j";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='B'){str2=str2+"k";str3=str3+"k";str4=str4+"k";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='C'){str2=str2+"l";str3=str3+"l";str4=str4+"l";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='D'){str2=str2+"m";str3=str3+"m";str4=str4+"m";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='E'){str2=str2+"n";str3=str3+"n";str4=str4+"n";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='6' && str[i+3]=='F'){str2=str2+"o";str3=str3+"o";str4=str4+"o";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='0'){str2=str2+"p";str3=str3+"p";str4=str4+"p";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='1'){str2=str2+"q";str3=str3+"q";str4=str4+"q";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='2'){str2=str2+"r";str3=str3+"r";str4=str4+"r";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='3'){str2=str2+"s";str3=str3+"s";str4=str4+"s";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='4'){str2=str2+"t";str3=str3+"t";str4=str4+"t";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='5'){str2=str2+"u";str3=str3+"u";str4=str4+"u";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='6'){str2=str2+"v";str3=str3+"v";str4=str4+"v";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='7'){str2=str2+"w";str3=str3+"w";str4=str4+"w";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='8'){str2=str2+"x";str3=str3+"x";str4=str4+"x";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='9'){str2=str2+"y";str3=str3+"y";str4=str4+"y";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='A'){str2=str2+"z";str3=str3+"z";str4=str4+"z";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='B'){str2=str2+"{";str3=str3+"{";str4=str4+"{";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='C'){str2=str2+"|";str3=str3+"|";str4=str4+"|";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='d'){str2=str2+"}";str3=str3+"}";str4=str4+"}";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='0' && str[i+2]=='7' && str[i+3]=='E'){str2=str2+"~";str3=str3+"~";str4=str4+"~";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='0'){str2=str2+"А";str3=str3+"A";str4=str4+"%d0%90";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='1'){str2=str2+"Б";str3=str3+"B";str4=str4+"%d0%91";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='2'){str2=str2+"В";str3=str3+"V";str4=str4+"%d0%92";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='3'){str2=str2+"Г";str3=str3+"G";str4=str4+"%d0%93";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='4'){str2=str2+"Д";str3=str3+"D";str4=str4+"%d0%94";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='5'){str2=str2+"Е";str3=str3+"E";str4=str4+"%d0%95";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='6'){str2=str2+"Ж";str3=str3+"Zh";str4=str4+"%d0%96";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='7'){str2=str2+"З";str3=str3+"Z";str4=str4+"%d0%97";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='8'){str2=str2+"И";str3=str3+"I";str4=str4+"%d0%98";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='9'){str2=str2+"Й";str3=str3+"Jj";str4=str4+"%d0%99";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='A'){str2=str2+"К";str3=str3+"K";str4=str4+"%d0%9a";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='B'){str2=str2+"Л";str3=str3+"L";str4=str4+"%d0%9b";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='C'){str2=str2+"М";str3=str3+"M";str4=str4+"%d0%9c";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='D'){str2=str2+"Н";str3=str3+"N";str4=str4+"%d0%9d";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='E'){str2=str2+"О";str3=str3+"O";str4=str4+"%d0%9e";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='1' && str[i+3]=='F'){str2=str2+"П";str3=str3+"P";str4=str4+"%d0%9f";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='0'){str2=str2+"Р";str3=str3+"R";str4=str4+"%d0%a0";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='1'){str2=str2+"С";str3=str3+"S";str4=str4+"%d0%a1";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='2'){str2=str2+"Т";str3=str3+"T";str4=str4+"%d0%a2";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='3'){str2=str2+"У";str3=str3+"U";str4=str4+"%d0%a3";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='4'){str2=str2+"Ф";str3=str3+"F";str4=str4+"%d0%a4";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='5'){str2=str2+"Х";str3=str3+"Kh";str4=str4+"%d0%a5";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='6'){str2=str2+"Ц";str3=str3+"C";str4=str4+"%d0%a6";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='7'){str2=str2+"Ч";str3=str3+"Ch";str4=str4+"%d0%a7";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='8'){str2=str2+"Ш";str3=str3+"Sh";str4=str4+"%d0%a8";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='9'){str2=str2+"Щ";str3=str3+"Sch";str4=str4+"%d0%a9";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='A'){str2=str2+"Ъ";str3=str3+"";str4=str4+"%d0%aa";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='B'){str2=str2+"Ы";str3=str3+"Y";str4=str4+"%d0%ab";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='C'){str2=str2+"Ь";str3=str3+"";str4=str4+"%d0%ac";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='D'){str2=str2+"Э";str3=str3+"Eh";str4=str4+"%d0%ad";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='E'){str2=str2+"Ю";str3=str3+"Yu";str4=str4+"%d0%ae";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='2' && str[i+3]=='F'){str2=str2+"Я";str3=str3+"Ya";str4=str4+"%d0%af";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='0'){str2=str2+"а";str3=str3+"a";str4=str4+"%d0%b0";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='1'){str2=str2+"б";str3=str3+"b";str4=str4+"%d0%b1";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='2'){str2=str2+"в";str3=str3+"v";str4=str4+"%d0%b2";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='3'){str2=str2+"г";str3=str3+"g";str4=str4+"%d0%b3";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='4'){str2=str2+"д";str3=str3+"d";str4=str4+"%d0%b4";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='5'){str2=str2+"е";str3=str3+"e";str4=str4+"%d0%b5";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='6'){str2=str2+"ж";str3=str3+"zh";str4=str4+"%d0%b6";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='7'){str2=str2+"з";str3=str3+"z";str4=str4+"%d0%b7";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='8'){str2=str2+"и";str3=str3+"i";str4=str4+"%d0%b8";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='9'){str2=str2+"й";str3=str3+"jj";str4=str4+"%d0%b9";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='A'){str2=str2+"к";str3=str3+"k";str4=str4+"%d0%ba";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='B'){str2=str2+"л";str3=str3+"l";str4=str4+"%d0%bb";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='C'){str2=str2+"м";str3=str3+"m";str4=str4+"%d0%bc";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='D'){str2=str2+"н";str3=str3+"n";str4=str4+"%d0%bd";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='E'){str2=str2+"о";str3=str3+"o";str4=str4+"%d0%be";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='3' && str[i+3]=='F'){str2=str2+"п";str3=str3+"p";str4=str4+"%d0%bf";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='0'){str2=str2+"р";str3=str3+"r";str4=str4+"%d1%80";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='1'){str2=str2+"с";str3=str3+"s";str4=str4+"%d1%81";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='2'){str2=str2+"т";str3=str3+"t";str4=str4+"%d1%82";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='3'){str2=str2+"у";str3=str3+"u";str4=str4+"%d1%83";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='4'){str2=str2+"ф";str3=str3+"f";str4=str4+"%d1%84";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='5'){str2=str2+"х";str3=str3+"kh";str4=str4+"%d1%85";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='6'){str2=str2+"ц";str3=str3+"c";str4=str4+"%d1%86";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='7'){str2=str2+"ч";str3=str3+"ch";str4=str4+"%d1%87";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='8'){str2=str2+"ш";str3=str3+"sh";str4=str4+"%d1%88";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='9'){str2=str2+"щ";str3=str3+"sh";str4=str4+"%d1%89";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='A'){str2=str2+"ъ";str3=str3+"";str4=str4+"%d1%8a";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='B'){str2=str2+"ы";str3=str3+"y";str4=str4+"%d1%8b";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='C'){str2=str2+"ь";str3=str3+"";str4=str4+"%d1%8c";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='D'){str2=str2+"э";str3=str3+"eh";str4=str4+"%d1%8d";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='E'){str2=str2+"ю";str3=str3+"yu";str4=str4+"%d1%8e";i=i+3;}
      else if (str[i]=='0' && str[i+1]=='4' && str[i+2]=='4' && str[i+3]=='F'){str2=str2+"я";str3=str3+"ya";str4=str4+"%d1%8f";i=i+3;}
      else if (str[i]==' '){str2=str2+" ";str3=str3+" ";str4=str4+"%20";}
      else if (str[i]=='!'){str2=str2+"!";str3=str3+"!";str4=str4+"%21";}
      else if (str[i]=='"'){str2=str2+"\"";str3=str3+"\"";str4=str4+"%22";}
      else if (str[i]=='#'){str2=str2+"#";str3=str3+"#";str4=str4+"%23";}
      else if (str[i]=='$'){str2=str2+"$";str3=str3+"$";str4=str4+"%24";}
      else if (str[i]=='%'){str2=str2+"%";str3=str3+"%";str4=str4+"%25";}
      else if (str[i]=='&'){str2=str2+"&";str3=str3+"&";str4=str4+"%26";}
      else if (str[i]=='\''){str2=str2+"'";str3=str3+"'";str4=str4+"%27";}
      else if (str[i]=='('){str2=str2+"(";str3=str3+"(";str4=str4+"%28";}
      else if (str[i]==')'){str2=str2+")";str3=str3+")";str4=str4+"%29";}
      else if (str[i]=='*'){str2=str2+"*";str3=str3+"*";str4=str4+"%2A";}
      else if (str[i]=='+'){str2=str2+"+";str3=str3+"+";str4=str4+"%2B";}
      else if (str[i]==','){str2=str2+",";str3=str3+",";str4=str4+"%2C";}
      else if (str[i]=='-'){str2=str2+"-";str3=str3+"-";str4=str4+"%2D";}
      else if (str[i]=='.'){str2=str2+".";str3=str3+".";str4=str4+"%2E";}
      else if (str[i]=='/'){str2=str2+"/";str3=str3+"/";str4=str4+"%2F";}
      else if (str[i]==':'){str2=str2+":";str3=str3+":";str4=str4+"%3A";}
      else if (str[i]==';'){str2=str2+";";str3=str3+";";str4=str4+"%3B";}
      else if (str[i]=='<'){str2=str2+"<";str3=str3+"<";str4=str4+"%3C";}
      else if (str[i]=='='){str2=str2+"=";str3=str3+"=";str4=str4+"%3D";}
      else if (str[i]=='>'){str2=str2+">";str3=str3+">";str4=str4+"%3E";}
      else if (str[i]=='?'){str2=str2+"?";str3=str3+"?";str4=str4+"%3F";}
      else if (str[i]=='@'){str2=str2+"@";str3=str3+"@";str4=str4+"%40";}
      else {str2=str2+str[i];str3=str3+str[i];str4=str4+str[i];}
    }
    if (type==0)
    {
      return(str2);
    }      
    else if (type==1)
    {
      return(str3);
    }      
    else if (type==2)
    {
      return(str4);
    }      
}

 

 

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

При i=str.length(); чему равно str[i+3];?

npts
Offline
Зарегистрирован: 08.04.2016

Да, тут конечно есть косяк (благодарю за подсказку), но проблема проявляется раньше.

Если в цикл вставить print(str4.lenght()) , то длина строки str4 увеличивается, сбрасывается, увеличивается, сбрасывается... И все это бессистемно.

toc
Offline
Зарегистрирован: 09.02.2013

npts, изучите темы: процедурное программирование, функции, массивы. Станет легче!

npts
Offline
Зарегистрирован: 08.04.2016

С удовольствием бы изучил, но не могу найти вменяемой документации.

Занялся Arduino после PHP, очень тяжко.

npts
Offline
Зарегистрирован: 08.04.2016

Есть у меня подозрение, что проблема с выделением ОЗУ.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

npts пишет:

С удовольствием бы изучил, но не могу найти вменяемой документации.

Занялся Arduino после PHP, очень тяжко.

По ходу, вы и в PHP так же что ли писали? Хотя там и классы есть, и замыкания, и много чего полезного с точки зрения прикладного программирования. Ну да и хер с ним, что называется.

Что конкретно должен делать этот код? Конвертировать в URI все запрещённые символы?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Короче, дайте входные данные и описание, что должно быть на выходе - тогда будет легче понять, а то щас глаза вытекают смотреть на то, что есть :)