帮忙看看这编码

alice_art 2008-11-13 02:40:32
我找出一段文字,应该不是加密过的,文字如下:


^540e^4ed8^8d39^5c0f^7075^901a


上面这段文字翻译过来就是“后付费小灵通”,请求大侠帮我看看应该如何解码,我想用C#解码,请给个思路。如需要更多的数据可在下面指出。


PS:以上文字是通过JavaScript脚本解码的,但是脚本太长,看不过来。
...全文
153 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
cancerser 2008-11-13
  • 打赏
  • 举报
回复
一看到 4位16进制 就应该想到 双字节字符嘛
大二学的吧.....
Hertz_liu 2008-11-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ojlovecd 的回复:]
C# code
string str = "^540e^4ed8^8d39^5c0f^7075^901a";
string[] temp = str.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries);
int[] i = Array.ConvertAll<string, int>(temp, new Converter<string, int>(delegate(string x) { return Convert.ToInt32(x, 16); }));
char[] c = Array.ConvertAll<int, char>(i, Convert.ToChar);
str…
[/Quote]
你太强了,崇拜
wangkuang5 2008-11-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ojlovecd 的回复:]
C# code
string str = "^540e^4ed8^8d39^5c0f^7075^901a";
string[] temp = str.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries);
int[] i = Array.ConvertAll<string, int>(temp, new Converter<string, int>(delegate(string x) { return Convert.ToInt32(x, 16); }));
char[] c = Array.ConvertAll<int, char>(i, Convert.ToChar);
str…
[/Quote]

是unicode编码么
wojiaochenglong 2008-11-13
  • 打赏
  • 举报
回复
能给个解释吗,看不懂啊?
hxm_dom 2008-11-13
  • 打赏
  • 举报
回复
学习了
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ojlovecd 的回复:]
C# code
string str = "^540e^4ed8^8d39^5c0f^7075^901a";
string[] temp = str.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries);
int[] i = Array.ConvertAll<string, int>(temp, new Converter<string, int>(delegate(string x) { return Convert.ToInt32(x, 16); }));
char[] c = Array.ConvertAll<int, char>(i, Convert.ToChar);
str…
[/Quote]
刚刚我测试过了,结果是对的~~
devilli 2008-11-13
  • 打赏
  • 举报
回复
学习了
qinhl99 2008-11-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ojlovecd 的回复:]
C# code
string str = "^540e^4ed8^8d39^5c0f^7075^901a";
string[] temp = str.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries);
int[] i = Array.ConvertAll<string, int>(temp, new Converter<string, int>(delegate(string x) { return Convert.ToInt32(x, 16); }));
char[] c = Array.ConvertAll<int, char>(i, Convert.ToChar);
str…
[/Quote]

//你咋知道的?
gongsun 2008-11-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ojlovecd 的回复:]
C# code
string str = "^540e^4ed8^8d39^5c0f^7075^901a";
string[] temp = str.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries);
int[] i = Array.ConvertAll<string, int>(temp, new Converter<string, int>(delegate(string x) { return Convert.ToInt32(x, 16); }));
char[] c = Array.ConvertAll<int, char>(i, Convert.ToChar);
str…
[/Quote]

16进制解码...

强人啊。
gongsun 2008-11-13
  • 打赏
  • 举报
回复
你的先知道他是用什么码加密的,知道那个算法。
我姓区不姓区 2008-11-13
  • 打赏
  • 举报
回复

string str = "^540e^4ed8^8d39^5c0f^7075^901a";
string[] temp = str.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries);
int[] i = Array.ConvertAll<string, int>(temp, new Converter<string, int>(delegate(string x) { return Convert.ToInt32(x, 16); }));
char[] c = Array.ConvertAll<int, char>(i, Convert.ToChar);
string result = new string(c);
Console.WriteLine(result);
/*
输出:
后付费小灵通
*/
zx005 2008-11-13
  • 打赏
  • 举报
回复
就是汉字的十六进制编码
qshzf 2008-11-13
  • 打赏
  • 举报
回复
参考JavaScript脚本,用c#写啊
  • 打赏
  • 举报
回复
应该是把汉字变成二进制后,编码成16进制,然后中间加上 "^",因为所有字母都小于f。楼主可以看看其他的是不是也是这样,如果是的话,你不妨写一段测试代码解码看看。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧