Come posso convertire l'array byte[]
in streaming in C#?Come si converte il byte [] in streaming in C#?
risposta
Il modo più semplice per convertire un array di byte a un flusso sta usando la classe MemoryStream
:
Stream stream = new MemoryStream(byteArray);
Si prega di notare che questo modo di creare uno stream non è forse l'ideale: "Questo costruttore non espone il flusso sottostante. GetBuffer lancia UnauthorizedAccessException. " http://msdn.microsoft.com/en-us/library/e55f3s5k.aspx – noocyte
@noocyte qual è il modo ideale allora? – developerbmw
ma è comunque possibile utilizzare 'stream.ToArray()' se si desidera ripristinare l'array di byte. –
Cerca nella classe MemoryStream
.
Stai cercando il MemoryStream.Write
method. Ad esempio, il codice seguente scrive il contenuto di una matrice byte[]
in un flusso di memoria:
byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream();
stream.Write(myByteArray, 0, myByteArray.Length);
In alternativa, si potrebbe create a new, non ridimensionabile MemoryStream
dell'oggetto in base alla matrice di byte:
byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream(myByteArray);
Questa è la migliore risposta. È conciso e copre tutte le applicazioni pratiche. C'è un trucco con l'utilizzo del costruttore basato su array di byte come indicato qui - il flusso risultante non è ridimensionabile. – Jduv
Ricorda inoltre di ripristinare lo stream in seguito: stream.Seek (0, SeekOrigin.Begin); –
Si noti che la prima opzione 'MemoryStream.Write' richiede molta più memoria quindi' new MemoryStream (myByteArray) ' – Alex
L'approccio generale di scrivere in qualsiasi flusso (non solo MemoryStream
) è quello di utilizzare BinaryWriter
:
static void Write(Stream s, Byte[] bytes)
{
using (var writer = new BinaryWriter(s))
{
writer.Write(bytes);
}
}
- 1. Come si converte una stringa in byte in C#?
- 2. C# converte oggetto [] in byte [], ma come mantenere l'oggetto byte come byte?
- 3. Converte l'indirizzo MAC in serie di byte in C#
- 4. Converte array di byte in cortocircuito in C#
- 5. C# converte i dati dell'immagine in byte array
- 6. Come si converte SYS_GUID() in varchar?
- 7. Come si converte un CString in doppio in C++?
- 8. Come si converte una stringa in un char * in C++?
- 9. Come si converte Int/Decimal in float in C#?
- 10. pdfbox converte pdf in image byte []
- 11. Come si converte LF in CRLF?
- 12. Java: converte l'elenco di byte in serie di byte
- 13. In Golang come si converte una fetta in una matrice
- 14. Come si converte il byte da [Dimensione] a stringa in Vai?
- 15. Come si converte PascalCase in kebab-case con C#?
- 16. Come si converte cdt in makefile?
- 17. C++: converte il vettore in tupla
- 18. Come si converte una stringa in un vettore di byte in ruggine?
- 19. Come si converte una stringa UTF-8 in una matrice di byte in Dart?
- 20. Il programma C++ converte fahrenheit in celsius
- 21. Come si converte un array di byte in un'istanza Bitmap (.NET)?
- 22. streaming video in tempo reale in C#
- 23. Come si converte NSString in NSData?
- 24. String Streaming in C
- 25. Come si converte Double [] in double []?
- 26. Come si converte la cstring in NSString?
- 27. Come si converte LPCWSTR in const char *?
- 28. In C#, come si converte il tipo di dati TimeSpan in DateTime?
- 29. C++: converte wchar_t * in BSTR?
- 30. come convertire stringa in byte [] in C#
Che tipo di flusso? Perché? –