Подтвердить что ты не робот

Какова длина в байтах NSString?

Как получить длину байтов NSString? если myString содержит "hallo", myString.length вернет 5, но сколько фактических байтов принято?

4b9b3361

Ответ 1

NSString *[email protected]"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
NSUInteger bytes = [test lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%i bytes", bytes);

Ответ 2

Чтобы использовать байты

NSData *bytes = [string dataUsingEncoding:NSUTF8StringEncoding];

Затем вы можете проверить bytes.length

Количество байтов зависит от строковой кодировки

Ответ 3

Ну:

NSString* string= @"myString";
NSData* data=[string dataUsingEncoding:NSUTF8StringEncoding];
NSUInteger myLength = data.length;

Ответ 4

Из Документация Apple:

Объект NSString кодирует текстовую строку, совместимую с Unicode, представленный как последовательность блоков кода UTF-16. Все длины, характер индексы и диапазоны выражаются в терминах 16-разрядной платформы-endian значения с значениями индекса, начинающимися с 0.

Таким образом, память, используемая NSString, составляет 2 байта на символ плюс любая фиксированная память, используемая самим объектом.