Me pregunto si puedo saber cuánto tiempo en bytes para un string
en C#, ¿alguien sabe?¿Cómo saber el tamaño de la cadena en bytes?
Respuesta
Puede utilizar la codificación ASCII como para obtener un carácter por byte utilizando la clase System.Text.Encoding
.
o probar este
System.Text.ASCIIEncoding.Unicode.GetByteCount(string);
System.Text.ASCIIEncoding.ASCII.GetByteCount(string);
Pregunta estúpida, pero ¿cómo sabremos si usar la clase Unicode o ASCII si los datos en la cadena provienen de un archivo de un tercero? –
@MatthewLock Deberías usar UTF16 (o el tamaño de 'Longitud * sizeof (Char) 'de majidgeek, que debería dar el mismo resultado ya que cada' Char' es UTF16/2-bytes) si quieres la misma cantidad de bytes que la representación interna de una cuerda. Si realmente desea la cantidad exacta de memoria que ocupa todo el objeto, en lugar de solo la cantidad de bytes en su matriz de caracteres interna, entonces podría considerar un [método más general] (http://stackoverflow.com/questions/1128315/ find-size-of-object-instance-in-bytes-in-c-sharp). – Bob
System.Text.ASCIIEncoding.Unicode.GetByteCount(yourString);
O
System.Text.ASCIIEncoding.ASCII.GetByteCount(yourString);
De MSDN:
Un objeto
String
es una colección secuencial deSystem.Char
objetos que representan una cadena.
Así que usted puede utilizar esto:
var howManyBytes = yourString.Length * sizeof(Char);
por lo que puedo entender los fundamentos de la estructura de datos es la elección más 'pinada' para comparar con – LoneXcoder
No olvide tener en cuenta el tamaño del miembro de longitud. int howManyBytes = yourString.Length * sizeof (Char) + sizeof (int); –
¿Qué sucede si la longitud de mi cadena es mayor que la Int? –
- 1. Obtiene el tamaño de la cadena std :: string en bytes
- 2. Mide el tamaño de cadena en Bytes en php
- 3. Calc utf-8 tamaño de cadena en bytes?
- 4. ¿Tamaño de bytes personalizado?
- 5. Cómo obtener el tamaño de imagen (bytes) usando PIL
- 6. Cómo saber el tamaño de una variable en MATLAB
- 7. Obtenga la cantidad de bytes necesarios para una cadena Unicode
- 8. ¿Cómo obtener la longitud de cadena en bytes en nodejs?
- 9. Permitido el tamaño de la memoria de 268435456 bytes agotado
- 10. ¿Cómo saber el tamaño de un archivo antes de descargarlo?
- 11. HTML5 Canvas: cómo saber el límite para el tamaño?
- 12. ¿Cuántos bytes tiene una cadena
- 13. tamaño del conjunto de estructuras en bytes
- 14. ¿Cómo consigo un tamaño de una cadena UTF-8 en Bytes con Python
- 15. Cómo saber el tamaño de MTU de teléfono inteligente Android
- 16. Cómo convertir eficientemente la matriz de bytes a la cadena
- 17. Cómo saber el tamaño de un texto al utilizar Canvas.drawText()
- 18. svn tamaño de revisión en bytes
- 19. Fatal error: Permitido el tamaño de la memoria de bytes 134217728 agotados (intentó asignar 87 bytes)
- 20. ¿Cómo obtener el tamaño en bytes de una columna CLOB en Oracle?
- 21. Rubí obtener el tamaño en bytes de una matriz
- 22. cadena de matriz de bytes
- 23. ¿Cómo saber el tamaño de la sesión en ASP.NET desde la aplicación web?
- 24. ¿Ves la secuencia de bytes exacta de una cadena R?
- 25. Tamaño de bytes de un NSDictionary
- 26. Cómo determinar el tamaño de la cadena y comprimirla
- 27. ¿Cómo detectar el final de la cadena en la matriz de bytes para la conversión de cadenas?
- 28. ¿Cómo calculo el tamaño de la tabla de página?
- 29. Cadena a matriz de bytes en php
- 30. conseguir bytes de cadena Unicode en Python
Salida [esta respuesta] (http://stackoverflow.com/questions/472906/net-string-to-byte-array-c-sharp) – dasblinkenlight
¿Está preguntando cuánta memoria ocupa un objeto 'string', o cuántos bytes ocupará la representación de una cadena cuando se escribe en un archivo o se envía a través de una red (es decir, codificada), porque esas son dos preguntas completamente diferentes. majidgeek casi responde al anterior mientras que diya responde al último (al menos por dos codificaciones comunes). –
posible duplicado de [¿cuántos bytes tomará?] (Http://stackoverflow.com/questions/3967411/how-much-bytes-will- take) – nawfal