2011-10-31 163 views
0

海蘭,解碼串XML

我想解碼包含在.NET XML數據的字符串,但該字符串是在Java編碼

System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding(); 
System.Text.Decoder utf8Decode = encoder.GetDecoder(); 
byte[] todecode_byte = Convert.FromBase64String(data); 
int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length); 
char[] decoded_char = new char[charCount]; 
utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0); 
result = new String(decoded_char); 
return result; 

我寫了代碼,但它拋出錯誤。 在此先感謝。

+1

什麼是錯誤? –

+6

對於所有二元的愛,請提供錯誤。 – ChaosPandion

+0

輸入不是有效的Base-64字符串,因爲它包含非基本64字符,兩個以上填充字符或填充字符中的非空白字符。 – jats

回答

2

假設它確實是UTF-8,然後base64編碼,你應該能夠編寫:

byte[] binary = Convert.FromBase64String(data); 
string text = Encoding.UTF8.GetString(binary); 

但是,它聽起來就像是不是 base64編碼下手 - 如果你已經把它作爲文本,你應該可以使用它,而不需要額外的工作。