Таким образом я получил объект NSData из сети, как:NSData и NSString преобразования не равна
< 93000000 026d6163 69640029 00000032 66353637 32636237 36363931 62393839 62626432 30323261 35333439 39333961 32643762 39353200 02696661 00210000 00373138 38616134 30313532 35346437 63396162 65326262 62326361 65653762 39000269 66760021 00000061 30346635 30373862 63383034 34343362 64636431 37653666 34326539 38306300 0a757569 640000>
Теперь я хочу, чтобы увидеть, что строка с использованием кодировки: NSASCIIStringEncoding:
[[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]
и я получаю:
«\ xc2 \ x93 \ 0 \ 0 \ 0 \ x02macid \ 0) \ 0 \ 0 \ 02f5672cb76691b989bbd2022a5349939a2d7b952 \ 0 \ x02ifa \ 0 \ 0 \ 0 \ 07188aa4015254d7c9abe2bbb2caee7b9 \ 0 \ x02ifv \ 0 \ 0 \ 0 \ 0a04f5078bc804443bdcd17e6f42e980c \ 0 \ nuuid \ 0 \ 0"
Примечание: Эта строка имеет смысл для меня, потому что
a04f5078bc804443bdcd17e6f42e980c
мой идентификатор устройства получить от
[UIDevice currentDevice].identifierForVendor]
Теперь я хочу, чтобы преобразовать его обратно в NSData:
[str dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]
< 13000000 026d6163 69640029 00000032 66353637 32636237 3 6363931 62393839 62626432 30323261 35333439 39333961 32643762 39353200 02696661 00210000 00373138 38616134 30313532 35346437 63396162 65326262 62326361 65653762 39000269 66760021 00000061 30346635 30373862 63383034 34343362 64636431 37653666 34326539 38306300 0a757569 640000>
Как вы можете видеть, первый раздел изменяется. Как я могу сохранить то же самое?
Я думаю, что это все еще строка, потому что a04f5078bc804443bdcd17e6f42e980c - это мой идентификатор устройства, поэтому я думаю, что имеет смысл – Wingzero
как узнать кодировку? – Wingzero
@Wingzero Если это не проблема с кодировкой, это может быть проблема с тем, как вы сначала получаете объект NSData. – Larme