Tôi có một mảng byte tương tự như sau (16 byte):Chuỗi từ mảng byte không được cắt bớt trong C#?
71 77 65 72 74 79 00 00 00 00 00 00 00 00 00 00
tôi sử dụng để chuyển đổi nó thành một chuỗi và cắt các không gian kết thúc:
ASCIIEncoding.ASCII.GetString(data).Trim();
tôi nhận được chuỗi tốt, tuy nhiên nó vẫn có tất cả các khoảng trống. Vì vậy, tôi nhận được một cái gì đó như "qwerty.........."
(trong đó dấu chấm là khoảng trống do StackOverflow).
Tôi đang làm gì sai?
Tôi cũng đã cố gắng sử dụng .TrimEnd() và sử dụng mã hóa UTF8, nhưng nó không thay đổi bất cứ điều gì.
Cảm ơn trước :)
Liệu mảng byte của bạn kết thúc trong 00 byte hoặc 20 byte? Một không gian là 0x20 không phải 0x00. –
Nếu mảng byte của bạn xuất phát từ MemoryStream, hãy chắc chắn rằng bạn gọi 'ToArray()' và không phải 'GetBuffer()', vì GetBuffer sẽ bao gồm dữ liệu "chưa được lấp đầy", kết quả là tất cả các terminators của '\ 0's –