NSUTF16LittleEndianStringEncoding делает массив байтов

Мне нужно зашифровать строку. Служба, которой я ее отправляю, требует, чтобы это был хэш MD5 байтового массива строки в UTF16LE.

В основном: если у меня есть myString это должно быть помещено в байтовый массив UTF16LE, а затем этот массив должен быть хеширован MD5.

NSUTF16LittleEndianStringEncoding фактически делает байтовый массив? Я не могу сказать из документации, если это то, что происходит. Если это не так, есть ли у кого-нибудь хороший способ создания байтового массива из строки с кодировкой UTF16LE? Я пытался использовать getBytesи [myString bytes] и const char и я все еще вычеркиваю. По общему признанию есть кое-что, что я не понимаю, но документация @dev.apple не проливает свет, который я могу видеть. Примечание: я задал похожий вопрос на днях, но с тех пор я узнал больше информации о том, что они хотят.

Спасибо

1 ответ

Решение

Это будет, когда вы используете его с -[NSString dataUsingEncoding:]:

NSData * data = [string dataUsingEncoding:NSUTF16LittleEndianStringEncoding];
const char* const bytes = data.bytes;
Другие вопросы по тегам