Cómo convertir una matriz de bytes en una matriz int? Tengo una matriz de bytes que contiene 144 elementos y las formas en que lo he intentado son bastante ineficientes debido a mi inexperiencia. Lamento que esto haya sido respondido antes, pero no pude encontrar una buena respuesta en ningún lado.Cómo convertir una matriz de bytes en una matriz int?
Respuesta
simple:
//Where yourBytes is an initialized byte array.
int[] bytesAsInts = yourBytes.Select(x => (int)x).ToArray();
Asegúrese de incluir System.Linq
con una declaración using:
using System.Linq;
Y si LINQ no es lo suyo, puede utilizar esto en su lugar:
int[] bytesAsInts = Array.ConvertAll(yourBytes, c => (int)c);
Recibí un error: 'byte []' no contiene una definición para 'Seleccionar' y ningún método de extensión 'Seleccionar' acepta un primer argumento de tipo 'byte []' podría encontrarse (¿falta una directiva using o una referencia de ensamblado?) – user1166981
@ user1166981: asegúrese de hacer referencia a 'System.Linq' en su proyecto. (Por cierto, ¿a qué versión del framework .NET está apuntando?) – Ryan
bien, eso quitó el error gracias – user1166981
Sé que esta es una publicación anterior, pero si buscabas en primer lugar obtener una matriz de enteros, ed en una matriz de bytes (y que podría estar considerando su matriz de bytes de 144 elementos), esta es una manera de hacerlo:
var size = bytes.Count()/sizeof (int);
var ints = new int[size];
for (var index = 0; index < size; index++)
{
ints[index] = BitConverter.ToInt32(bytes, index * sizeof (int));
}
Nota: cuidar el orden de bits, si es necesario. (Y en muchos casos lo hará)
Nice, estaba buscando esto. La gente parece olvidar que (int) byteVar no es lo mismo que convertir un bytearray en un int (por ejemplo, 4 bytes para un int) – Sliver2009
Hay una mejor solución: https://stackoverflow.com/a/5896716/238419 Eso la pregunta es sobre 'int []' a 'byte []' pero esta solución debería funcionar independientemente –
Ahora Es simple como sigue,
int[] result = Array.ConvertAll(bytesArray, Convert.ToInt32);
- 1. ¿Cómo convertir una matriz de bytes a una matriz int?
- 2. ¿Cómo convertir una matriz de bytes int a little endian?
- 3. ¿Convertir int a una matriz de bytes en C?
- 4. Error al convertir una matriz de bytes a una matriz int en C#
- 5. Convertir una matriz int a una matriz de cadenas
- 6. Int matriz de bytes a
- 7. Convertir una matriz de bytes a una clase que contiene una matriz de bytes en C#
- 8. Convertir una matriz de cadenas a matriz de bytes
- 9. ¿Cómo convertir una matriz de bytes en doble en C?
- 10. Convertir matriz int a matriz de caracteres
- 11. cómo convertir una matriz de bytes a Stream
- 12. Cómo convertir imágenes en matriz de bytes
- 13. Cómo convertir una matriz de bytes a NSString
- 14. Cómo convertir una matriz int [] a una lista?
- 15. Cómo convertir una matriz de bytes al adjunto de correo
- 16. ¿Almacena una int en una matriz char?
- 17. Cómo convertir una matriz de bytes a Bitmap
- 18. Cómo convertir una matriz de bytes a blob
- 19. ¿Convertir una matriz de caracteres a una sola int?
- 20. ¿Convertir una matriz de bytes a cadena en Silverlight?
- 21. Convertir matriz de bytes a matriz corta en C#
- 22. ¿Cómo puedo convertir un int a una matriz de bool?
- 23. ¿Cómo convierto una matriz de bytes Java en una matriz de bytes Scala?
- 24. cómo convertir la matriz de bytes en una matriz de enteros
- 25. Java: ¿Cómo "recortar" una matriz de bytes?
- 26. Algoritmo para convertir una matriz multidimensional en una matriz unidimensional
- 27. Convertir matriz de bytes en Bitset
- 28. ¿Convertir matriz de bytes a matriz de bits?
- 29. convertir matriz de cadena a matriz de bytes
- 30. deserializar una matriz de bytes
¿Cuáles son las formas que han intentado? – Marlon
Solo para mencionar: el byte es de 8 bits, int es de 32 bits y está convirtiendo un byte en int. Todos los convertidos serán del 0 al 255. – Bakudan