2013-07-29 100 views

回答

1

在C或C++字符串由null(或 '\ 0')終止。在C#中,字符串可以包含null,但通常這些來自C/C++函數。

您可以在.NET字符串擺脫null與這取決於什麼是字符串中的null的原因

s = s.Replace("\0", ""); // just removes the null 

int pos = s.IndexOf('\0'); 
if (pos >= 0) 
    s = s.Substring(0, pos); // removes the null and the rest of the string 

+0

嗨,羅蘭,謝謝你的回覆。我已經從字符串中刪除了空字符,但輸出不穩定。我有時會收到非法的參數異常,有時我會得到正確的輸出。請幫我解決這個問題。 – sulthana

+0

@sulthana你可以提供一些更多的信息,在哪些情況下發生異常以及它何時起作用?併發生異常的地方(java或.net部分,哪一行/命令)... –

+0

hi Roland,異常即將發生java.While返回JAVA類中的字符串,異常即將到來。這裏是例外**嚴重:Servlet.service()進行的servlet AppService服務扔例外 java.lang.IllegalArgumentException異常:「迴歸」之後的char「爲0x0」是不是一個有效的XML字符。 – sulthana

0

一些無效的字符會導致異常解析XML官方定義的無效字符,這三個範圍:

0x00 - 0x08 
0x0b - 0x0c 
0x0e - 0x1f 

所以,你可以解析XML內容之前進行過濾。