¿Cómo puedo convertir byte[]
matriz en transmisión en C#?¿Cómo convierto byte [] a stream en C#?
Respuesta
La forma más fácil de convertir una matriz de bytes en una corriente está utilizando la clase MemoryStream
:
Stream stream = new MemoryStream(byteArray);
Tenga en cuenta que esta forma de crear una secuencia quizás no sea ideal: "Este constructor no expone la secuencia subyacente. GetBuffer arroja UnauthorizedAccessException ". http://msdn.microsoft.com/en-us/library/e55f3s5k.aspx – noocyte
@noocito ¿cuál es la forma ideal, entonces? – developerbmw
pero aún puede usar 'stream.ToArray()' si desea recuperar su matriz de bytes. –
Mire en la clase MemoryStream
.
Estás buscando el MemoryStream.Write
method. Por ejemplo, el siguiente código escribirá el contenido de una matriz byte[]
en una secuencia de memoria:
byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream();
stream.Write(myByteArray, 0, myByteArray.Length);
Alternativamente, usted podría create a new, no puede cambiar de tamaño MemoryStream
objeto basado en la matriz de bytes:
byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream(myByteArray);
Esta es la mejor respuesta. Es conciso y cubre todas las aplicaciones prácticas. Hay un problema con solo usar el constructor basado en la matriz de bytes como se indica aquí: la secuencia resultante no es redimensionable. – Jduv
Recuerde también reiniciar el flujo después: stream.Seek (0, SeekOrigin.Begin); –
Tenga en cuenta que la primera opción 'MemoryStream.Write' consume mucha más memoria que' new MemoryStream (myByteArray) ' – Alex
El enfoque general para escribir en cualquier corriente (no sólo MemoryStream
) es utilizar BinaryWriter
:
static void Write(Stream s, Byte[] bytes)
{
using (var writer = new BinaryWriter(s))
{
writer.Write(bytes);
}
}
- 1. zlib de C++ a C# (Cómo convertir byte [] a stream y stream to byte [])
- 2. ¿Cómo convierto una cadena en byte en C#?
- 3. C# Cómo convierto System.Net.ConnectStream en un byte [] (matriz)
- 4. ¿Cómo convierto un byte a un largo en Java?
- 5. computeHash byte [] y Stream diferencia
- 6. Convierte XDocument a Stream
- 7. Cómo descomprimir GZip en Stream (C#)?
- 8. Convierte la lista <byte[]> en un byte [] matriz
- 9. Byte a entero en C#
- 10. cómo convertir cadena a byte [] en C#
- 11. C: sobrescribir otro byte función a byte
- 12. String Stream en C
- 13. Stream Reuse en C#
- 14. C# 4.0: Convertir PDF a byte [] y viceversa
- 15. Cómo devolver un byte [] a C# en C++ CLR
- 16. ¿Cómo convierto una matriz de bytes a Base64 en Java?
- 17. Convertir byte [] en char []
- 18. cómo convertir una matriz de bytes a Stream
- 19. C# byte [] volver a la lista <int>
- 20. Java: byte [] a Byte []
- 21. Java - Byte [] a byte []
- 22. Datos binarios de JNI Stream de C++ a Java
- 23. C# - Conversión a uint byte []
- 24. ¿Cómo convierto una matriz de bytes C# en datos estructurados?
- 25. ¿Cómo convierto nchar en cadena en C#?
- 26. ¿Cómo convierto System.Windows.Media.SolidcolorBrush a System.Drawing.Color?
- 27. Cómo convierto jstring a wchar_t *
- 28. ¿Cómo convierto un CString a un doble en C++?
- 29. ¿Cómo convierto de stringstream a string en C++?
- 30. ¿Cómo convierto un int a dos bytes en C#?
¿Qué tipo de corriente? ¿Por qué? –