Wednesday, 22 November 2017

Nsstring To Nsdata Binary Optionen


NSString oder NSData Ive änderte meine Meinung, die das Beste auf lange Sicht ist, und an diesem Punkt Ich bin nur verwirrend mich, also dachte ich Id fragen Sie nach Rat. Ich schreibe ein Programm, das die Nutzlasten von TCP-Paketen auf dem Draht sammeln und unter anderem rekonstruieren wird. Im Moment will ich nur den Text der Transaktion, aber irgendwann möchte ich vielleicht ein Bild oder eine andere (willkürliche) Datei speichern können. Ich habe angefangen, NSString intern zu verwenden, um die Daten zu speichern, da ich RTF-Befehle einfügte, um den Text mit Farben zu formatieren, um clientserver info zu bezeichnen. Jetzt ziehe ich an, um das RTF nicht einzusetzen, bis es angezeigt wird, also kann ich andere Manipulationen auf ihm machen, wenn nötig. Das Problem, in dem ich hineingehe, ist, dass ich NSMutableString-Methoden verwendet habe, um das Auftreten von Strings zu ersetzen und RTF-Befehle als einfache Konstrukte einzufügen. Es scheint, dass NSData gibt mir weniger Flexibilität, um in der Lage sein, den Inhalt zu ändern, bevor displyaing es, aber ich möchte nicht Probleme verursachen, wenn Im Speichern von binären Daten in einem NSString. Auch ich sehe nicht, wie man NSData wieder in einen NSString umwandelt. Welche Route ist das Beste für diese Art von Anwendung Danke, Eric cocoa-dev Mailingliste ltcocoa-dev. Gt HelpUnsubscribeArchives: lists. applemailmanlistinfococoa-dev Veröffentlichen Sie keine Admin-Anfragen an die Liste. Sie werden ignoriert. Ihr Instinkt ist richtig, dass NSData und NSMutableData die richtigen Werkzeuge für die Behandlung von Streams von Bytes sind. NSData ist eine Klasse, die Stücke von Bytes in ihrer wörtlichen Darstellung darstellt, wie sie aus einem Sockel kommen oder in eine Datei gehen könnten. NSString stellt eine Interpretation eines Chips von Bytes als eine Reihe von Zeichen in Abhängigkeit von dem Codierungsschema dar, die Zuordnung zwischen Bytes und Zeichen muss nicht einfach sein (UTF-8 Zeichen sind zwischen einem und vier Bytes lang). NSString kennt auch Dinge wie Vergleiche, Formatkonvertierungen und Substitutionen, die von den Eigenschaften von Zeichen abhängen, im Unterschied zu Bytes. Weil NSString Daten in interpretierter Form speichert, sollten Sie den Datenfluss zu NSString als Einweg behandeln, bis es anders bewiesen ist. Sie können keinen beliebigen Puffer zu einem NSString verschieben und wieder herausfinden und ein identisches Ergebnis garantieren. Verwenden Sie NSData, wenn es darum geht, die ursprünglichen Bytes zu bewahren oder eine bestimmte Bytefolge für den Draht oder eine Datei zu erstellen. RTF zählt als Daten, die sich wie ein String verhalten, wobei die Stringdarstellung und die Binärdarstellung ohne Sinnverlust ausgetauscht werden können (solange Sie wissen, welche Stringcodierung für die Binärdarstellung verwendet wurde). Ein Bild ist ein Beispiel für Daten, die in NSData verlassen werden sollen. Die Unterseite des Anklebens an NSData ist, dass youre zurück zu der Standard-C-Bibliothek für Sachen wie Suchen geworfen wird. Für die Umwandlung von NSData zu NSString: Sie haben NSStrings markiert initWithData: encoding: method Auch sollten Sie NSAttributedString und NSMutableAttributedString betrachten. Dies sind Klassen, die das tun, was Sie mit Strings zu tun scheinen - fügen Sie hinzu und manipulieren Farben und andere Attribute - und sie können produzieren und von RTF initialisiert werden. Siehe - NSAttributedString RTFFromRange: documentAttributes: zum Beispiel. In deinem Platz würde ich mich nicht mit der Vervollkommnung meines eigenen RTF-Generators beschäftigen, als ich einen Bibliotheksrahmen hatte, der bereits vorhanden war, um meinen String und seine Farben zu spezifizieren und korrektes RTF für freies zu erhalten. Am 21 Jul 2004, um 18:17 Uhr, schrieb die Familie Baur: gt Im schreiben ein Programm, das die Nutzlasten von TCP-Pakete auf dem Draht sammeln und unter anderem rekonstruieren wird. Im Moment möchte ich nur den Text der Transaktion wünschen, aber irgendwann möchte ich vielleicht auch ein Bild oder eine andere (willkürliche) Datei speichern können. Gt gt Ich begann mit NSString intern, um die Daten zu speichern, da ich gt Einfügen von RTF-Befehle, um den Text mit Farben zu formatieren, um gt Clients-Info zu bezeichnen. Jetzt ziehe ich nicht ein, um das RTF einzutragen, bis gt angezeigt wird, also kann ich andere Manipulationen auf ihm tun, wenn nötig. Gt gt Das Problem Im läuft in ist, dass Ive mit NSMutableString gt Methoden, um Vorkommen von Strings und Einfügen von RTF-Befehle gt als einfache Konstrukte zu ersetzen. Es scheint, dass NSData gibt mir weniger gt Flexibilität, um in der Lage sein, den Inhalt zu ändern, bevor displyaing es, gt aber ich möchte nicht Probleme verursachen, wenn Im Speichern von binären Daten in einem gt NSString. Auch ich sehe nicht, wie man NSData zurück in ein gt NSString umwandelt. Gt gt Welche Route ist die beste für diese Art von Anwendung cocoa-dev Mailingliste ltcocoa-dev. Gt HelpUnsubscribeArchives: lists. applemailmanlistinfococoa-dev Veröffentlichen Sie keine Admin-Anfragen an die Liste. Sie werden ignoriert. Auf Thu, 22 Jul 2004 11:35:37 -0500, Fritz Anderson ltfritza. Gt schrieb: gt Die Unterseite des Anklebens an NSData ist, dass youre zurück zu der gt Standard C-Bibliothek für Sachen wie sucht geworfen wird. Der Havent hat das schon lange gemacht. Können Sie einen Zeiger auf, wo zu graben mehr Informationen auf sie Oder sollte ich nur ziehen Sie meine alten C Referenzen gt Für die Umwandlung von NSData zu NSString: Sie haben bemerkt NSStrings gt initWithData: Codierung: Methode gt Oops. Sah es an einem Punkt, vergaß es für dieses Projekt. -) gt Auch sollten Sie NSAttributedString und gt NSMutableAttributedString betrachten. Dies sind Klassen, die tun, was Sie scheinen, um mit Strings beabsichtigen - addieren und manipulieren Farben und andere Attribute gt - und sie können produzieren und von RTF initialisiert werden. Siehe gt - NSAttributedString RTFFromRange: documentAttributes: zum Beispiel. In gt Ihr Platz, würde ich nicht mit der Perfektionierung meines eigenen RTF-Generators, gt, wenn ich hatte ein Bibliotheks-Framework bereits vorhanden, um meine Zeichenfolge gt und seine Farben, und erhalten Sie korrekte RTF kostenlos. Gt habe ich letzte Nacht erkannt, dass ich über NSAttributedString vergessen hatte - ich bin froh, dass du es erwähnt hast, ich vermisse wahrscheinlich zurück und versuche diese Route stattdessen. Ich habe vor allem nur die Farben verändert und auf einen Blick sieht es so aus, ohne dass ich mich um Steuerzeichen kümmern muss. (In der Tat, die meisten der String Manipulation hatte mit der Verwaltung von Backslashs und so zu tun - aber mit einer zugeschriebenen String, Ich hoffe, ich kann das vergessen.) Danke, Eric cocoa-dev Mailing-Liste ltcocoa-dev. Gt HelpUnsubscribeArchives: lists. applemailmanlistinfococoa-dev Veröffentlichen Sie keine Admin-Anfragen an die Liste. Sie werden ignoriert. NSString initWithData: NSUTF8StringEncoding - gibt nil Im Lesen einer RTF-Datei, die in einer Binärdatei enthalten ist. Ich muss eine RTF-Datei auf der HD erstellen - aber ich habe ein Problem, wenn ich versuche, die Daten durch das System zu verschieben. Die folgende Codezeile funktioniert manchmal mit denselben Daten: NSString theString NSString-Zuordnung initWithData: strData-Codierung: NSUTF8StringEncoding Diese Codezeile funktioniert immer - mit der gleichen Dateneingabe: NSString theString NSString-Zuordnung initWithData: strData-Codierung: NSASCIIStringEncoding Die Daten sind ein RTF-Datei, die derzeit keine speziellen UTF8-Zeichen enthält - aber konnte. Irgendwelche Ideen, wie man besser eine UTF8-String aus Daten erstellen kann Danke für was Einblicke in den Sinn kommen, Am 3. Dezember 2004, um 9:52 Uhr, schrieb Lance Drake: gt Im lese eine RTF-Datei, die in einer Binärdatei enthalten ist Datei. Ich brauche gt, um eine RTF-Datei auf der HD zu erstellen - aber ich habe ein Problem, wenn ich versuchen, die Daten durch das System zu verschieben. Gt gt Die folgende Codezeile funktioniert manchmal mit denselben Daten: gt NSString theString NSString alloc initWithData: strData gt encoding: NSUTF8StringEncoding gt gt Diese Codezeile funktioniert immer - mit der gleichen Dateneingabe: gt NSString theString NSString alloc initWithData: strData Gt codierung: NSASCIIStringEncoding gt gt Die Daten sind eine RTF-Datei, die derzeit keine speziellen gt UTF8 Zeichen enthält - aber könnte. Der Inhalt einer RTF-Datei kann wie ein String aussehen, aber theyre nicht sie sollten als Daten behandelt werden. Lassen Sie es als NSData und lesen und schreiben Sie es mit NSData Methoden. Gt Der Inhalt einer RTF-Datei kann wie ein String aussehen, aber sie sind nicht gt sie sollten als Daten behandelt werden. Lassen Sie es als NSData und lesen und schreiben Sie es mit NSData Methoden. Gt Douglas Davidson Das ist ein ausgezeichnetes Feedback und Rat. Es fiel mir ein - (nachdem ich die Frage natürlich gesendet habe) - Warum die Mühe gehen durch die NSString Phase - schreibe einfach die Daten in eine Datei. Also hast du meine Gedanken bestätigt und ich schätze deine besonders schnelle Hilfe. Auch UTF-8 geht davon aus, dass die Eingabedaten eine normale UTF-8-String oder eine null-terminierte Unichar sind, obwohl UTF-8 alle ASCII umfasst, die Char kann nicht ordnungsgemäß für bestimmte Zeichen ausgerichtet sein und standardmäßig die init-Methoden nonLossy encoding Wenn also ein unbekannter Charakter angetroffen wird, wird nil zurückgegeben. Am Freitag, 3. Dez 2004 10:04:45 -0800, Douglas Davidson ltddavidso. Gt schrieb: gt gt gt gt Am 3. Dezember 2004, um 9:52 Uhr, schrieb Lance Drake: gt gtgt Im lese eine RTF-Datei, die in einer Binärdatei enthalten ist. Ich brauche gtgt, um eine RTF-Datei auf der HD zu erstellen - aber ich habe ein Problem, wenn ich versuche gtgt, die Daten durch das System zu verschieben. Gtgt gtgt Die folgende Codezeile funktioniert manchmal mit denselben Daten: gtgt NSString theString NSString alloc initWithData: strData gtgt encoding: NSUTF8StringEncoding gtgt gtgt Diese Codezeile funktioniert immer - mit der gleichen Dateneingabe: gtgt NSString theString NSString alloc initWithData: strData Gtgt encoding: NSASCIIStringEncoding gtgt gtgt Die Daten sind eine RTF-Datei, die derzeit keine speziellen gtgt UTF8 Zeichen enthält - aber könnte. Gt gt Der Inhalt einer RTF-Datei kann wie ein String aussehen, aber sie sind nicht gt sie sollten als Daten behandelt werden. Lassen Sie es als NSData und lesen und schreiben Sie es mit NSData Methoden. Gt gt Douglas Davidson gt gt gt gt Geben Sie keine Admin-Anfragen an die Liste. Sie werden ignoriert. Gt Cocoa-dev Mailingliste (ltCocoa-dev. Gt) gt HelpUnsubscribeUpdate dein Abonnement: gt lists. applemailmanoptionscocoa-devltkarl. adam. Gt gt gt Diese E-Mail an ltkarl. adam geschickt. Gt gtiOS 7: Base64 Kodieren und Decodieren von NSData - und NSString-Objekten Mit der Veröffentlichung von iOS 7 hat Apple Unterstützung für die Codierung und Decodierung von Daten mit Base64 hinzugefügt. In diesem Beitrag werden wir durch zwei Beispiele mit Base64 gehen, um sowohl NSData - als auch NSString-Objekte zu codieren und zu decodieren. Zuerst erstellen wir ein NSString-Objekt, das von Base64 erzeugt wird, das ein NSData-Objekt kodiert. Darauf folgt die Decodierung des Base64 NSStrings in ein NSData-Objekt. Wir werden die NSString-Daten anzeigen, die sowohl codiert als auch dekodiert sind, um sicherzustellen, dass alles gut ist. Das zweite Beispiel kodiert und decodiert NSData von Base64. Dieses Beispiel ist relevant, wenn Sie ein NSData-Objekt haben, das Base64-codiert sein muss, oder Sie müssen ein Base64-NSData-Objekt (aus welchem ​​Grund auch immer) dekodieren. Erstellen eines Base64-codierten NSString-Objekts Let8217s beginnen mit dem Codieren eines NSData-Objekts in Base64 und das Zurückgeben eines NSString-Objekts:

No comments:

Post a Comment