¿Cómo obtengo la longitud de bytes de NSString
? si myString
contiene "hola", myString.length
devolverá 5, pero ¿cuántos bytes reales se toman?¿Cuál es la longitud en bytes de un NSString?
Respuesta
NSString *[email protected]"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
NSUInteger bytes = [test lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%i bytes", bytes);
Esto convierte la cadena en UTF8 de su representación interna de UTF16, por lo que no le dice la cantidad de memoria que realmente usa NSString. – Baxissimo
para obtener los bytes utilizan
NSData *bytes = [string dataUsingEncoding:NSUTF8StringEncoding];
continuación, podrá comprobar bytes.length
Número de bytes dependerá de la cadena de codificación
Bueno:
NSString* string= @"myString";
NSData* data=[string dataUsingEncoding:NSUTF8StringEncoding];
NSUInteger myLength = data.length;
Desde el Apple documentation:
objeto Una NSString codifica una cadena de texto compatible con Unicode, representado como una secuencia de UTF-16 unidades de código. Todas las longitudes, de carácter índices, y los rangos se expresan en términos de valores plataforma-endian de 16 bits, con valores de índice a partir de 0.
Así la memoria utilizada por un NSString es de 2 bytes por carácter más cualquier la memoria fija es utilizada por el objeto mismo.
- 1. ¿Cuál es la longitud máxima de un objeto NSString?
- 2. ¿Cómo obtener la longitud de un nsstring en nsstring que siempre tiene 2 dígitos de longitud?
- 3. NSString (hex) a bytes
- 4. ¿Cuál es la longitud de cadena de un GUID?
- 5. Cómo convertir a NSString bytes
- 6. ¿Cuál es la diferencia entre longitud y longitud()?
- 7. ¿Convertir bytes de NSData a NSString?
- 8. Erlang longitud de bytes binario
- 9. Mirar la longitud de NSString en el depurador
- 10. ¿Cuál es la forma correcta de ajustar [NSString stringWithFormat:]?
- 11. ¿Cuál es la longitud máxima de una cadena en PHP?
- 12. ¿Cómo obtener la longitud de cadena en bytes en nodejs?
- 13. + [NSString stringWithString:] - ¿Cuál es el punto?
- 14. Cuál es la longitud máxima de un SID en formato SDDL
- 15. NSString cString está obsoleto. ¿Cuál es la alternativa?
- 16. ¿Cómo obtener la longitud de una función en bytes?
- 17. ¿Cuál es la longitud máxima de una propiedad de lista?
- 18. ¿Cuál es la longitud máxima de cuadro de texto HTML
- 19. ¿Cuál es la longitud máxima posible de una cadena .NET?
- 20. ¿Cuál es la longitud ideal de una variable URL
- 21. # 1071 - La clave especificada era demasiado larga; la longitud máxima de la clave es 1000 bytes
- 22. Manera eficiente de calcular la longitud de bytes de un carácter, según la codificación
- 23. Bytes de escritura en un archivo sin borrar bytes existentes
- 24. "La clave especificada era demasiado larga; la longitud máxima de la clave es 1000 bytes"
- 25. ¿Cuál es la longitud máxima de una consulta mongodb?
- 26. ¿Cuál es un límite de longitud razonable en los campos de "Nombre" de la persona?
- 27. ¿Cuál es la longitud máxima de un nombre de dominio convertido IDNA?
- 28. Límite de tamaño de índice de 900 bytes en la longitud de caracteres
- 29. ¿Cuál es la longitud máxima de un nombre de método en ruby?
- 30. ¿Cuál es la mejor manera de contar la longitud absoluta de la matriz en JavaScript?
¿Cuántos bytes reales se toman ** cuando **? Espero que se den cuenta de que la longitud en bytes depende de la codificación ... – borrrden
Parece bastante claro que la pregunta es cuántos bytes se necesitan cuando está sentado allí en su representación interna en un NSString, que es UTF16, así que la respuesta es toma 2 bytes por carácter (en su mayor parte, hay algunos caracteres Unicode que toman más de 1 punto de código UTF16 para representar). – Baxissimo