Sunday 29 October 2017

Nsstring para nsdata binário opções


NSString ou NSData Ive mudando a minha mente que é o melhor a longo prazo, e neste momento Im apenas confundindo-me, então eu pensei Id pedir conselhos. Estou escrevendo um programa que vai coletar as cargas de pacotes TCP no fio e (entre outras coisas) reconstruí-los. Agora, eu só quero o texto da transação, mas eventualmente eu posso querer ser capaz de salvar como uma imagem, ou algum outro arquivo (arbitrário). Eu comecei usando NSString internamente para armazenar os dados, uma vez que eu estava inserindo comandos RTF para formatar o texto com cores para denotar informações clienterver. Agora Im movendo para não inserir o RTF até exibido, para que eu possa fazer outras manipulações sobre ele, se necessário. O problema que estou executando é que eu tenho usado métodos NSMutableString para substituir ocorrências de strings e inserir comandos RTF como construções simples. Parece que NSData me dá menos flexibilidade para ser capaz de modificar o conteúdo antes displyaing-lo, mas eu não quero causar problemas se estou armazenando dados binários em um NSString. Além disso, eu não vejo de improviso como converter NSData de volta em um NSString. Qual rota é a melhor para este tipo de aplicação Obrigado, Eric cocoa-dev mailing list ltcocoa-dev. Gt HelpUnsubscribeArquivos: lists. applemailmanlistinfococoa-dev Não publique pedidos de administração na lista. Eles serão ignorados. Seu instinto é correto que NSData e NSMutableData são as ferramentas certas para o tratamento de fluxos de bytes. NSData é uma classe que representa pedaços de bytes em sua representação literal, como eles podem vir de um soquete ou ir para um arquivo. NSString representa uma interpretação de um pedaço de bytes como uma série de caracteres dependendo do esquema de codificação, o mapeamento entre bytes e caracteres não precisa ser simples (caracteres UTF-8 estão entre um e quatro bytes de comprimento). NSString também sabe sobre coisas como comparações, conversões de formato e substituições, que dependem das propriedades dos caracteres, como distintos de bytes. Porque NSString armazena dados em forma interpretada, você deve tratar fluxo de dados para NSString como one-way até comprovado o contrário. Você não pode mover um buffer arbitrário para um NSString e voltar para fora, e garantir um resultado idêntico. Use NSData quando você se preocupa com a preservação dos bytes originais, ou pretende produzir uma seqüência de bytes específicos para o fio ou um arquivo. RTF conta como dados que se comportam como uma seqüência de caracteres a representação de seqüência de caracteres ea representação binária pode ser interchanged sem perda de significado (contanto que você sabe qual codificação de seqüência foi usada para a representação binária). Uma imagem é um exemplo de dados que devem ser deixados em NSData. O lado negativo de aderir a NSData é que você é jogado de volta para a biblioteca padrão C para coisas como pesquisas. Para conversão de NSData para NSString: Você notou NSStrings initWithData: codificação: método Além disso, você deve olhar NSAttributedString e NSMutableAttributedString. Estas são as classes que fazem o que você parece querer com strings - adicionar e manipular cores e outros atributos - e eles podem produzir e ser inicializado a partir de RTF. Consulte - NSAttributedString RTFFromRange: documentAttributes: por exemplo. Em seu lugar, eu não me incomodaria em aperfeiçoar meu próprio gerador de RTF, quando eu tinha uma estrutura de biblioteca já no lugar para especificar minha corda e suas cores, e obter o RTF correto para livre. Em 21 Jul 2004, às 18:17, a Família Baur escreveu: gt Im escrevendo um programa que vai coletar as cargas úteis de pacotes TCP no gt o fio e (entre outras coisas) reconstruí-los. Agora, eu só quero o texto da transação, mas eventualmente eu posso querer salvar gt como uma imagem, ou algum outro arquivo (arbitrário). Gt gt Eu comecei usando NSString internamente para armazenar os dados, desde que eu estava gt inserindo comandos RTF para formatar o texto com cores para denotar gt clientserver info. Agora Im movendo para não inserir o RTF até gt exibido, para que eu possa fazer outras manipulações sobre ele, se necessário. Gt gt O problema que eu estou executando é que eu tenho usado NSMutableString gt métodos para substituir ocorrências de strings e inserir RTF comandos gt como construções simples. Parece que NSData me dá menos flexibilidade gt para ser capaz de modificar o conteúdo antes de displyaing, gt, mas eu não quero causar problemas se estou armazenando dados binários em um gt NSString. Além disso, eu não vejo de improviso como converter NSData de volta em um gt NSString. Gt gt Qual rota é a melhor para este tipo de aplicação cacao-dev mailing list ltcocoa-dev. Gt HelpUnsubscribeArquivos: lists. applemailmanlistinfococoa-dev Não publique pedidos de administração na lista. Eles serão ignorados. On Thu, 22 Jul 2004 11:35:37 -0500, Fritz Anderson ltfritza. Gt escreveu: gt O lado negativo de aderir a NSData é que você é jogado de volta para a biblioteca gt padrão C para coisas como pesquisas. Gt Havent feito isso por um longo tempo. Você pode oferecer um ponteiro sobre onde escavar mais informações sobre ele Ou devo apenas arrastar para fora meu velho c referências gt Para a conversão de NSData para NSString: Você notou NSStrings gt initWithData: codificação: método gt Oops. Viu-lo em um ponto, esqueci-lo para este projeto. -) gt Além disso, você deve olhar para NSAttributedString e gt NSMutableAttributedString. Estas são as classes que fazem o que você parece gt intenção com strings - adicionar e manipular cores e outros atributos gt - e eles podem produzir e ser inicializado a partir de RTF. Veja gt - NSAttributedString RTFFromRange: documentAttributes: por exemplo. No gt seu lugar, eu não me incomodaria em aperfeiçoar meu próprio gerador RTF, gt quando eu tinha uma estrutura de biblioteca já no lugar para especificar a minha string gt e suas cores, e obter o RTF correto para livre. Gt Eu percebi na noite passada que eu tinha esquecido sobre NSAttributedString - Im feliz que você mencionou, Ill provavelmente voltar e tentar essa rota em seu lugar. Eu estava basicamente mudando de cores e, de relance, parece ser bastante fácil sem que eu tenha que me preocupar com personagens de controle. (Na verdade, a maior parte da manipulação de seqüência tinha a ver com o gerenciamento de barras invertidas e tal - mas usando uma string atribuída, estou esperando que eu possa esquecer isso.) Obrigado, Eric cocoa-dev mailing list ltcocoa-dev. Gt HelpUnsubscribeArquivos: lists. applemailmanlistinfococoa-dev Não publique pedidos de administração na lista. Eles serão ignorados. NSString initWithData: NSUTF8StringEncoding - retorna nil Estou lendo um arquivo RTF que está contido em um arquivo binário. Eu preciso criar um arquivo RTF no HD - mas estou tendo um problema quando tento mover os dados através do sistema. A seguinte linha de código funciona às vezes com os mesmos dados: NSString theString NSString alloc initWithData: strData codificação: NSUTF8StringEncoding Essa linha de código sempre funciona - com a mesma entrada de dados: NSString theString NSString alloc initWithData: strData codificação: NSASCIIStringEncoding Os dados são um RTF que atualmente não contém quaisquer caracteres especiais UTF8 - mas poderia. Todas as idéias sobre como melhor para criar uma Cadeia de caracteres UTF8 de dados Obrigado por qualquer insights podem vir à mente, Em 3 de dezembro de 2004, às 9:52 AM, Lance Drake escreveu: gt Estou lendo um arquivo RTF que está contido em um binário Arquivo. Eu preciso gt para criar um arquivo RTF no HD - mas estou tendo um problema quando tento gt para mover os dados através do sistema. Gt gt A seguinte linha de código funciona às vezes com os mesmos dados: gt NSString theString NSString alloc initWithData: strData gt codificação: NSUTF8StringEncoding gt gt Esta linha de código sempre funciona - com a mesma entrada de dados: gt NSString theString NSString alloc initWithData: strData Gt codificação: NSASCIIStringEncoding gt gt Os dados são um arquivo RTF que atualmente não contém qualquer especial gt UTF8 caracteres - mas poderia. O conteúdo de um arquivo RTF pode parecer uma seqüência de caracteres, mas eles não devem ser tratados como dados. Deixe-o como um NSData e leia e escreva usando métodos NSData. Gt O conteúdo de um arquivo RTF pode se parecer com uma string, mas eles não são gt, eles devem ser tratados como dados. Deixe-o como um NSData e ler e gt escrevê-lo usando métodos NSData. Gt Douglas Davidson Isso é excelente feedback e conselhos. Ocorreu-me - (depois que eu enviei a pergunta, é claro) - Por que se preocupar em atravessar a fase NSString - basta escrever os dados em um arquivo. Assim, você confirmou meus pensamentos e eu aprecio sua ajuda especialmente alerta. Também UTF-8 assume que os dados de entrada é uma cadeia UTF-8 normal ou um unichar terminado nulo, embora UTF-8 engloba todos os ASCII, o char pode não alinhar corretamente para certos caracteres e, por padrão, os métodos init não codificação nonLossy Portanto, se um carácter unknownunexpected for encontrado, nil é retornado. Em Sex, 3 Dez 2004 10:04:45 -0800, Douglas Davidson ltddavidso. Gt escreveu: gt gt gt gt Em 3 de dezembro de 2004, às 09:52, Lance Drake escreveu: gt gtgt Estou lendo um arquivo RTF que está contido em um arquivo binário. Eu preciso gtgt para criar um arquivo RTF no HD - mas estou tendo um problema quando eu tento gtgt para mover os dados através do sistema. Gtgt gtgt A seguinte linha de código funciona às vezes com os mesmos dados: gtgt NSString theString NSString alloc initWithData: strData gtgt codificação: NSUTF8StringEncoding gtgt gtgt Esta linha de código sempre funciona - com a mesma entrada de dados: gtgt NSString theString NSString alloc initWithData: strData Gtgt codificação: NSASCIIStringEncoding gtgt gtgt Os dados são um arquivo RTF que atualmente não contém qualquer especial gtgt caracteres UTF8 - mas poderia. Gt gt O conteúdo de um arquivo RTF pode se parecer com uma string, mas eles não devem ser tratados como dados. Deixe-o como um NSData e ler e gt escrevê-lo usando métodos NSData. Gt gt gt gt gt gt gt gt Não coloque pedidos de administrador na lista. Eles serão ignorados. Gt Lista de discussão Cocoa-dev (ltCocoa-dev. Gt) gt HelpUnsubscribeEncontre sua assinatura: gt lists. applemailmanoptionscocoa-devltkarl. adam. Gt gt gt Este e-mail foi enviado para ltkarl. adam. Gt gtiOS 7: Base64 Codificar e decodificar objetos NSData e NSString Com o lançamento do iOS 7, a Apple adicionou suporte para codificação e decodificação de dados usando Base64. Neste post vamos caminhar por dois exemplos usando Base64 para codificar e decodificar tanto NSData e NSString objetos. Primeiro, vamos criar um objeto NSString que é gerado pelo Base64 codificação de um objeto NSData. Isso será seguido pela decodificação da NSString Base64 novamente em um objeto NSData. Nós exibiremos os dados NSString, codificados e decodificados para garantir que tudo esteja bem. O segundo exemplo irá codificar e decodificar NSData tofrom Base64. Este exemplo é relevante se você tiver um objeto NSData que precisa ser codificado em Base64, ou você precisa decodificar um objeto Base64 NSData (por qualquer motivo). Criar um objeto NSString Codificado Base64 O Let8217s começa codificando um objeto NSData em Base64 e retornando um objeto NSString:

No comments:

Post a Comment