開發人員已經創建了一個小日誌模糊處理程序,我需要將其轉換爲java。需要幫助將c#XOR轉換爲Java
所有的焦炭項目已通過255進行XOR運算,這裏是de'obfuscation代碼片段
char[] array = text.ToCharArray();
for (int i = 0; i < array.Length; i++){
char @string = array[i];
text2 += Conversions.ToString(Strings.Chr(Strings.Asc(@string)^255));
}
streamWriter.WriteLine(text2);
我需要這個Conversions.ToString(Strings.Chr(Strings.Asc(@string)^255));
從C#轉換成Java。問題是,在java中,如果ascii字符大於255,似乎不能正確解碼字符。下面是一個例子:
String e = "ÃÎÌËÁßÍÏÎÌÐÏÉÐÎÌßÎÊÒÌÈÒÌÇßÃ「œž「ÏÑ–‘™Áß‘ŠÎÏÈÈËÑ‘ŠŒ–šÑœ’ß™ÅßÏÌÌÉ";
String sOut1 = "";
String sOut2 = "'";
char[] cArray = e.toCharArray();
for(int index = 0; index < cArray.length; index++){
int before = ((int) cArray[index]);
int after = before^255;
char s = ((char) after);
sOut1 += cArray[index];
sOut2 += Character.toString(s);
System.out.println("1: " + cArray[index] +
" 2: " + Integer.toString(before) +
" 3: " + Integer.toString(after) +
" 4: " + Character.toString(s)
);
}
System.out.println(sOut1);
System.out.println(sOut2);
這裏是我的Java代碼的輸出:
ÃÎÌËÁßÍÏÎÌÐÏÉÐÎÌßÎÊÒÌÈÒÌÇßÃ「œž「ÏÑ–‘™Áß‘ŠÎÏÈÈËÑ‘ŠŒ–šÑœ’ß™ÅßÏÌÌÉ
「< 134> 2013年6月13日15-37-38 <⃣oƬƁ⃣0.⃬⃧⇝o>⃧Ɵ10774 .⃧Ɵƭp⃬rƞ.Ƭo⃦p⃦
感謝您的幫助和給予的幫助。
什麼是'Strings'和'Conversions'?這些聽起來不像框架類型... –
也許你正在尋找String.getBytes(「ISO-8859-1」)和新的字符串(byte [],「ISO-8859-1」) –