Pergunta

Eu tenho essa linha de código para converter o NSString em nsdata:

NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];

Como faço isso no Unicode em vez do UTF8? Minha mensagem pode conter caracteres cirílicos ou marcas diacríticas.

Foi útil?

Solução

Primeiro, você deve usar dataUsingEncoding: em vez de passar por UTF8String. Você só usa UTF8String Quando você precisa de uma string c nessa codificação.

Então, para "Unicode" (especificamente, UTF-16), apenas passe NSUnicodeStringEncoding ao invés de NSUTF8StringEncoding na tua dataUsingEncoding: mensagem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top