Làm cách nào để nhận được độ dài byte là NSString
? nếu myString
chứa "hallo", myString.length
sẽ trả lại 5, nhưng có bao nhiêu byte thực tế được lấy?Độ dài bằng byte của NSString là bao nhiêu?
Trả lời
NSString *[email protected]"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
NSUInteger bytes = [test lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%i bytes", bytes);
Điều này chuyển đổi chuỗi thành UTF8 từ biểu diễn bên trong của UTF16, vì vậy nó không cho bạn biết số lượng bộ nhớ mà NSString thực sự đang sử dụng. – Baxissimo
Để có được các byte sử dụng
NSData *bytes = [string dataUsingEncoding:NSUTF8StringEncoding];
Sau đó, bạn có thể kiểm tra bytes.length
Số byte tùy thuộc vào mã hóa chuỗi
Vâng:
NSString* string= @"myString";
NSData* data=[string dataUsingEncoding:NSUTF8StringEncoding];
NSUInteger myLength = data.length;
Từ số Apple documentation:
Đối tượng NSString mã hóa chuỗi văn bản Unicode tuân thủ, được trình bày dưới dạng chuỗi đơn vị mã UTF-16. Tất cả độ dài, nhân vật chỉ số, và phạm vi được thể hiện trong điều kiện của nền tảng-endian 16-bit giá trị, với giá trị chỉ số bắt đầu từ 0.
Vì vậy, các bộ nhớ được sử dụng bởi một NSString là 2 byte cho mỗi nhân vật cộng với bất cứ điều gì bộ nhớ cố định được sử dụng bởi chính đối tượng đó.
- 1. Độ dài tối đa của đối tượng NSString là bao nhiêu?
- 2. Độ dài tối đa của một ListProperty là bao nhiêu?
- 3. Độ dài tối đa của tên facebook là bao nhiêu?
- 4. Hậu quả của việc gọi write() với độ dài bằng 0 là bao nhiêu?
- 5. Chiều dài chuỗi của GUID là bao nhiêu?
- 6. Độ dài tối đa của cột trong tệp csv là bao nhiêu?
- 7. Độ dài tối đa của chuỗi sẽ bị băm nhỏ là bao nhiêu?
- 8. Độ dài tối đa của tên ứng dụng iPad có thể là bao nhiêu?
- 9. Độ dài tối đa của truy vấn mongodb là bao nhiêu?
- 10. Giới hạn độ dài của thẻ META HTML là bao nhiêu?
- 11. Giới hạn về độ dài của thuộc tính javascript là bao nhiêu?
- 12. Độ dài tối đa của tên phương pháp trong ruby là bao nhiêu?
- 13. Độ dài tối đa có thể có của chuỗi truy vấn là bao nhiêu?
- 14. Độ dài của chuỗi được băm với SHA512 là bao nhiêu?
- 15. Ý nghĩa của một mảng có độ dài 0 trong C là bao nhiêu?
- 16. Độ phức tạp của HashMap.containsValue() trong java là bao nhiêu?
- 17. Độ phức tạp của LinkedList.getLast() trong Java là bao nhiêu?
- 18. Độ phức tạp của HashMap.containsKey() trong java là bao nhiêu?
- 19. Cách lấy độ dài của hàm bằng byte?
- 20. Có bao nhiêu byte cho mỗi inode?
- 21. Chuỗi sẽ mất bao nhiêu byte?
- 22. Độ dài tối đa cho tên ứng dụng Android là bao nhiêu?
- 23. Kích thước, tính bằng pixel, của AdSize.BANNER là bao nhiêu?
- 24. Giới hạn tối ưu cho độ dài URL là bao nhiêu? 100, 200+
- 25. Độ tin cậy của thuộc tính MaxLength của TextBox-Control là bao nhiêu?
- 26. Độ dài byte tối đa []?
- 27. Độ dài tối đa của tham số chuỗi đối với quy trình được lưu trữ là bao nhiêu?
- 28. Độ dài chuỗi Delphi Unicode theo byte
- 29. Phiên Meteor bao nhiêu là
- 30. Bao nhiêu là PhoneGap được sử dụng
Có bao nhiêu byte thực tế được thực hiện ** khi **? Tôi hy vọng bạn nhận ra rằng độ dài tính theo byte phụ thuộc vào mã hóa ... – borrrden
Dường như câu hỏi khá rõ ràng là có bao nhiêu byte khi nó ngồi đó trong biểu diễn bên trong của nó trong một NSString, là UTF16, vì vậy câu trả lời là mất 2 byte cho mỗi ký tự (đối với hầu hết các phần - có một số ký tự unicode có nhiều hơn 1 điểm mã UTF16 để biểu diễn.). – Baxissimo