2012-09-22 4 views
0

causant l'encodage URL Je suis en train de coder une chaîne multiligne et envoyer via HTTP au serveur, je suis codant pour cette chaîne:problèmes iOS

#include <stdio.h> 
int main(void) 
{ 
    printf(\"Code Cabana!\"); 
    return 0; 
} 

et quand je NSLog ce que je reçois ceci:

151657384nclude23Cstdio.h3.825303E-2990X1.242D78P-1047220220220220220220220220220220220220 0nt2ain(void)27B0X1.16BC009216BCP-877220220220220220220220220220220220220220220 0xe7fe00rintf(硨ode⭸abana!2;2202202202202202202202202202202202202202202eturn222022022022022022022022022022022022020A15203843

J'utilise ce code pour encoder:

NSString *urlCode = [[NSString stringWithFormat:@"#include <stdio.h>\n int main(void){\nprintf(\"Code Cabana!\");return 0;\n}"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
+0

Comment avez-vous 'NSLog'' urlCode'? Le serveur a-t-il renvoyé une erreur? – neilvillareal

+0

J'utilise 'NSLog (urlCode);' Le serveur l'envoie à un compilateur qui échoue parce que '' 'est codé comme' '' ' – Sirens

+0

Pouvez-vous publier la sortie de' NSLog (@ "% @", urlCode) Ceci est la bonne façon de se connecter 'urlCode' – neilvillareal

Répondre

0

N'utilisez pas NSLog(urlCode), utilisez NSLog(@"%@", urlCode) comme vous le devriez.

Quand vous faites cela, votre source C, URL codée en UTF-8, ressemble à ceci:

%23include%20%3Cstdio.h%3E%0A%20int%20main(void)%7B%0Aprintf(%22Code%20Cabana!%22);return%200;%0A%7D 

qui est probablement ce que vous recherchez. Puis-je simplement dire qu'il y a d'énormes implications pour la sécurité dans l'envoi de code source C sur le réseau à un compilateur, à moins que vous n'exécutiez jamais le code compilé. En ce qui concerne l'échec du compilateur,% 22 est la citation droite ", donc l'autre citation pourrait être un copier-coller d'un éditeur "intelligent" de votre côté.

Questions connexes