日期:2014-05-18  浏览次数:20778 次

关于编码解码的问题,请高人指点
有一字符串如下:
0xD1020000789CA5914D4AC3401886BFFEA6A9B40B4F10B 25328348D8B4A116CD3A8911AB113052DA58CE9548393A4 245368BD821771E746DDB8103C821BCFE005BA71E3C4568 8A5E8C21966989F67DEEFE59D0400A4F85055F5250950AA 4A8AA416F2A54DA92295798F66A5906F9F2036A184AFC40 44031217E6D4DEC926CD6F403175341BBC441489850DC6D 5454A5D2D3F6EA6DA45BB91DDF6311B8CAE5E1A6830ED3C 8B9261998B5DBE47646F3A91F08824D1B14DB57F9FD913B D44641C8CF443B6892011E51261C7B8EEDF789084B6AE71 0C35E1F07FDDCBF5D646D6AFA1E494726C4BFACC08F982A F198D66121A6748B0CD84ACBF1081A62DBF12E527790B6F 0795884059D8DB84E64B7080AFF95B254E5436EE0D0B175 4A5CE231A3B925CB4A79DEAAB22C35EAC8D0F4967EA09B5 6AF4E1D1C6ADC29A79EDE5FA76FF7CFD39EB2948A2CC6A8 8889D5B126C3E85659385EF2282ECC834384129B198CB8A 145C68CC3B5DAAF98D11F73A8CC9979D83DC4A3A26446CC 353ADF15BBB22C17F21D383BFB387D0C1E8EBAB0267D023 976D5D4

请高人解码

注意,字符串中的空格是我自己加个,因为csdn认为我的字符串太长了,要求加空格,实际上该字符串中间是没有空格的

------解决方案--------------------

坐等高人解天书
------解决方案--------------------
探讨
坐等高人解天书

------解决方案--------------------
如果是十六进制的字符串形式
C# code
str = str.Substring(2);
byte[] bytes = new byte[str.Length / 2];
for (int i = 0; i < bytes.Length; i++)
{
    bytes[i] = Convert.ToByte(str.Substring(i * 2, 2), 16);
}

------解决方案--------------------
C# code

string s="";
byte[] b= System.Text.Encoding.BigEndianUnicode.GetBytes(s); 
s=BitConverter.ToString(b).Replace("-",""); 
MessageBox.Show(s); 

public static string GetChsFromHex(string hex)  
  {  
  byte[] bytes = new byte[hex.Length / 2];  
  for (int i = 0; i < bytes.Length; i++)  
  {  
  try  
  {  
  bytes[i] = byte.Parse(hex.Substring(i * 2, 2),  
  System.Globalization.NumberStyles.HexNumber);  
  }  
  catch  
  {  
  }  
  }  
  System.Text.Encoding chs = System.Text.Encoding.GetEncoding("gb2312");  
  return chs.GetString(bytes);  
  }

------解决方案--------------------
这个只能试这分析 因为一段代码 可以有n种不同方式加密
------解决方案--------------------
你都没说明要解码到什么类型上,这段内容很可能是某个对象序列化后的二进制内容,也可能是直接字符串编码后的内容,甚至还可能加过密,你什么都不交代,叫别人怎么处理二进制?
------解决方案--------------------
你需要先知道存进去的是什么才能找到正确的解码方法。一般情况下使用GetBytes就可以,但目前从结果看,存的内容是经过处理的,或者存入 的是文件