Ho un array di byte simile a questo (16 byte):La stringa dall'array di byte non viene ritagliata in C#?
71 77 65 72 74 79 00 00 00 00 00 00 00 00 00 00
utilizzo questa per convertirlo in una stringa e tagliare gli spazi chiusi:
ASCIIEncoding.ASCII.GetString(data).Trim();
ottengo la stringa fine, tuttavia ha ancora tutti gli spazi finali. Quindi ottengo qualcosa come "qwerty.........."
(dove i punti sono spazi dovuti a StackOverflow).
Cosa sto sbagliando?
Ho anche provato a usare .TrimEnd() e ad usare una codifica UTF8, ma non cambia nulla.
Grazie in anticipo :)
Il vostro array di byte finiscono in 00 byte o 20 byte? Uno spazio è 0x20 non 0x00. –
Se il tuo array di byte proviene da un MemoryStream, assicurati di chiamare 'ToArray()' e non 'GetBuffer()', dato che GetBuffer includerà dati "non riempiti", risultando in tutti quei '\ 0 ' –