Come ottengo la lunghezza di byte di NSString
? se myString
contiene "hallo", myString.length
restituirà 5, ma quanti byte effettivi vengono presi?Qual è la lunghezza in byte di una NSString?
risposta
NSString *[email protected]"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
NSUInteger bytes = [test lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%i bytes", bytes);
Converte la stringa in UTF8 dalla sua rappresentazione interna di UTF16, quindi non indica la quantità di memoria effettivamente utilizzata dall'NSString. – Baxissimo
per ottenere i byte usano
NSData *bytes = [string dataUsingEncoding:NSUTF8StringEncoding];
Quindi è possibile controllare bytes.length
Numero di byte dipende dalla codifica stringa
Bene:
NSString* string= @"myString";
NSData* data=[string dataUsingEncoding:NSUTF8StringEncoding];
NSUInteger myLength = data.length;
Dalla Apple documentation: Un oggetto NSString
codifica una stringa di testo Unicode-compliant, rappresentato come una sequenza di UTF-16 unità di codice. Tutte le lunghezze, carattere indici e intervalli sono espressi in termini di 16 bit piattaforma endian valori, con valori di indice a partire da 0.
Quindi la memoria utilizzata da un NSString è 2 byte per carattere più qualunque la memoria fissa viene utilizzata dall'oggetto stesso.
- 1. Qual è la lunghezza massima di una stringa in PHP?
- 2. Come ottenere la lunghezza di una funzione in byte?
- 3. Lunghezza NSString - Caratteri speciali
- 4. Qual è la lunghezza massima di una query di mongodb?
- 5. Perché la lunghezza del byte di una stringa è più lunga della lunghezza?
- 6. Qual è la lunghezza massima di una ListProperty?
- 7. Qual è la lunghezza massima di una stringa Python?
- 8. Guarda la lunghezza NSString nel debugger
- 9. Qual è la lunghezza massima di un nome DNS
- 10. Qual è la lunghezza ideale di una slug URL
- 11. Lunghezza massima del byte []?
- 12. Come convertire l'array di byte in NSString
- 13. Qual è la lunghezza di una stringa codificata in un ByteBuffer
- 14. Qual è la lunghezza massima dell'URL di Apache?
- 15. Come posso troncare una NSString a una lunghezza impostata?
- 16. javax.validation: vincolo per convalidare una lunghezza di stringa in byte
- 17. Qual è la lunghezza di output di PHP crypt()?
- 18. Come ottenere una lunghezza di una stringa nsstring che è sempre lunga 2 cifre?
- 19. Erlang byte di lunghezza binario
- 20. Qual è la lunghezza massima degli sms concatenati in smpp?
- 21. Qual è la lunghezza massima di html testo
- 22. Come ottenere la lunghezza della stringa in byte in nodejs?
- 23. + [NSString stringWithString:] - qual è il punto?
- 24. Qual è la differenza tra NSString e NSMutableString?
- 25. PHP: strlen restituisce la lunghezza del carattere anziché la lunghezza del byte
- 26. Qual è il limite della lunghezza di una proprietà javascript?
- 27. Qual è la lunghezza massima di latitudine e longitudine?
- 28. Qual è la lunghezza massima di un SID in formato SDDL
- 29. Qual è il CFString Equiv di UTF8String di NSString?
- 30. Perché il mio array di byte mostra una lunghezza errata?
Quanti byte effettivi vengono presi ** quando **? Spero che tu ti renda conto che la lunghezza in byte dipende dalla codifica ... – borrrden
Sembra abbastanza chiaro che la domanda riguarda quanti byte ci vuole quando è seduto lì nella sua rappresentazione interna in una NSString, che è UTF16, quindi la risposta è prende 2 byte per carattere (per la maggior parte - ci sono alcuni caratteri Unicode che richiedono più di 1 punto di riferimento UTF16 da rappresentare). – Baxissimo