Tôi tự hỏi nếu tôi có thể biết bao lâu trong byte cho một string
trong C#, bất cứ ai biết?Làm thế nào để biết kích thước của chuỗi theo byte?
Trả lời
Bạn có thể sử dụng mã hóa như ASCII để có được một nhân vật mỗi byte bằng cách sử dụng các lớp System.Text.Encoding
.
hoặc thử này
System.Text.ASCIIEncoding.Unicode.GetByteCount(string);
System.Text.ASCIIEncoding.ASCII.GetByteCount(string);
Câu hỏi ngu ngốc, nhưng làm cách nào chúng ta biết có nên sử dụng lớp Unicode hay ASCII nếu dữ liệu trong chuỗi đến từ tệp của bên thứ 3 không? –
@MatthewLock Bạn nên sử dụng UTF16 (hoặc majidgeek's 'Length * sizeof (Char)', sẽ cho kết quả tương tự vì mỗi 'Char' là UTF16/2-byte) nếu bạn muốn cùng một số byte như biểu diễn bên trong của một chuỗi. Nếu bạn thực sự muốn số lượng bộ nhớ chính xác mà toàn bộ đối tượng cần, thay vì chỉ số byte trong mảng ký tự bên trong, thì bạn có thể xem xét [phương pháp tổng quát hơn] (http://stackoverflow.com/questions/1128315/ find-size-of-object-instance-in-byte-in-c-sharp). – Bob
System.Text.ASCIIEncoding.Unicode.GetByteCount(yourString);
Hoặc
System.Text.ASCIIEncoding.ASCII.GetByteCount(yourString);
Từ MSDN:
Một đối tượng
String
là một bộ sưu tập tuần tự củaSystem.Char
đối tượng đại diện cho một chuỗi.
Vì vậy, bạn có thể sử dụng này:
var howManyBytes = yourString.Length * sizeof(Char);
theo như tôi có thể hiểu được khái niệm cơ bản về cấu trúc dữ liệu, đó là sự lựa chọn 'pined' nhất để so sánh với – LoneXcoder
Đừng quên tính đến kích thước của thành viên độ dài. int howManyBytes = yourString.Length * sizeof (Char) + sizeof (int); –
Nếu chiều dài chuỗi của tôi lớn hơn Int thì sao? –
- 1. Đo kích thước chuỗi theo Byte trong php
- 2. Cách nhận kích thước byte của chuỗi nhiều byte
- 3. Kích thước chuỗi utf-8 Calc theo byte?
- 4. Làm thế nào để biết byte đọc (offset) của BufferedReader?
- 5. Làm thế nào tôi có thể nhận được kích thước byte của std :: wstring?
- 6. Java: Char so với kích thước byte chuỗi.
- 7. Làm thế nào để biết kích thước của một tập tin trước khi tải xuống?
- 8. Làm thế nào để xóa [] biết kích thước của một mảng?
- 9. Làm thế nào để xóa [] "biết" kích thước của mảng toán hạng?
- 10. Làm thế nào để biết kích thước của tập tin swf mà không có Flash?
- 11. Kích thước của chuỗi
- 12. Marshalling một kích thước mảng chưa biết
- 13. Làm thế nào để sử dụng SQL (Oracle) để đếm kích thước của một chuỗi?
- 14. Tính kích thước byte của đối tượng Java
- 15. Làm thế nào để tăng kích thước Heap của JVM
- 16. Kích thước tệp tối đa của hình ảnh JPEG có kích thước đã biết
- 17. Độ dài chuỗi Delphi Unicode theo byte
- 18. Chuỗi chữ theo byte
- 19. Làm thế nào để tăng kích thước transport.dump từ 256 byte lên 512 byte hoặc nhiều hơn trong KSOAP2?
- 20. Làm thế nào để phát hiện kết thúc chuỗi trong mảng byte để chuyển đổi chuỗi?
- 21. Làm thế nào để biết được biến số nào của Union được sử dụng?
- 22. Làm cách nào để biết kích thước thực của một trang web?
- 23. Làm thế nào để có được kích thước của nội dung của một biến trong PHP
- 24. Kích thước của một byte trong bộ nhớ - Java
- 25. Làm thế nào để thay đổi kích thước một QMainWindow thành kích thước tối thiểu
- 26. làm thế nào để cắt cuối n byte của một chuỗi trong bash chuỗi choping?
- 27. android: làm thế nào tôi có thể nhận được kích thước của mảng chuỗi?
- 28. python có kích thước chuỗi unicode
- 29. băm chuỗi kích thước
- 30. Dự đoán kích thước byte của byte được mã hóa base64 []
Check-out [câu trả lời này] (http://stackoverflow.com/questions/472906/net-string-to-byte-array-c-sharp). – dasblinkenlight
Bạn có hỏi bao nhiêu bộ nhớ một đối tượng 'string' chiếm hay bao nhiêu byte biểu diễn chuỗi sẽ chiếm khi được ghi vào một tệp hoặc được gửi qua mạng (tức là được mã hóa), bởi vì đó là hai câu hỏi hoàn toàn khác nhau. majidgeek gần như trả lời trước đây trong khi diya trả lời sau này (ít nhất là cho hai mã hóa phổ biến). –
bản sao có thể có của [bao nhiêu byte sẽ mất?] (Http://stackoverflow.com/questions/3967411/how-much-bytes-will-take) – nawfal