簡體   English   中英

String.Trim()不會刪除空格

[英]String.Trim() doesn't remove whitespaces

我有一個小程序,可以從文件中加載或保存字節數組。 在此字節數組中包含一個字符串,例如:

byte[] header = new byte[64]; //the actual array is larger, but this is for explaining purposes only...
string savedString = Encoding.ASCII.GetString( header, 0, 64 );

因為我以前寫入文件的字符串只有5個字符長,所以“ savedString”加載為“ string”等。但是,在這種情況下,我沒有后顧之憂,我只是添加了

.Trim();

Encoding.ASCII.GetString( header, 0, 64 );

但這仍然不能在加載時將字符串切成合適的大小,因此我猜測填充不是由空格組成的嗎?

謝謝。

字節數組最初用零填充,表示的字符是控制字符,而不是空格字符。 嘗試像這樣專門修剪這些零字符:

savedString.Trim('\0');

例如:

byte[] header = new byte[64];
header[0] = (byte)'A';
string savedString = Encoding.ASCII.GetString(header, 0, 64);

var output1 = savedString.Trim();
Console.WriteLine("{0} ({1})", output1, output1.Length); // A□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ (64)
var output2 = savedString.Trim('\0');
Console.WriteLine("{0} ({1})", output2, output2.Length); // A (1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM