Escape-Anführungszeichen in Objective-C

8

Ich verwende dieses Code-Snippet, um Zeichen zu codieren, um mit einer POST-Anfrage freundlich zu sein:

%Vor%

Was gut funktioniert, fügt aber keine Escape-Anführungszeichen hinzu: "

Wie entkomme ich Anführungszeichen in IOS?

    
Moe 12.04.2012, 03:33
quelle

4 Antworten

15

Ich denke, ich habe die Frage nicht richtig formuliert.

Ich musste den vom Benutzer eingegebenen NSString von [textField text] nehmen und sicherstellen, dass, wenn in der Zeichenfolge Anführungszeichen gesetzt sind, diese ordnungsgemäß maskiert werden, um eine POST-Anweisung zu senden.

Meine Lösung war:

%Vor%

Danke

    
Moe 12.04.2012, 09:27
quelle
3

Erstens möchten Sie __bridge_retained in Ihrer Besetzung nicht in CFStringRef verwenden. Verwenden Sie einfach __bridge .

Zweitens müssen Sie die Anführungszeichen nicht manuell durch Zeichenfolge ersetzen. Fügen Sie einfach das Anführungszeichen zu der Zeichengruppe hinzu, die beim Aufruf von CFURLCreateStringByAddingPercentEscapes() zitiert werden soll. Wie so:

%Vor%

(Zusätzlich zum Hinzufügen des Zitats zu der Menge habe ich CFBridgingRelease() anstelle von __bridge_transfer umgewandelt, weil ich es klarer finde. Es erfüllt das Gefühl, dass alle CF "Create" -Funktionen ein entsprechendes "Release" benötigen ". Außerdem habe ich die Verwendung einer @"" Literal-Umwandlung in CFStringRef auf nur eine CFSTR("") Literale geändert.)

    
Ken Thomases 14.04.2012 07:54
quelle
1

Quotes sind mit \" zu entkommen.

Wie in:

%Vor%     
CodaFi 12.04.2012 03:41
quelle
0

Verwenden Sie \ "anstatt" direkt "zu verwenden ...

Sonderzeichen wie Anführungszeichen, Schrägstriche und andere erfordern \ diesen Charakter, um seine spezielle Funktionalität zu entfernen.

    
adi27 12.04.2012 03:38
quelle