【发布时间】:2014-11-13 14:43:12
【问题描述】:
我需要将十六进制字符串(通过套接字从游戏服务器接收)转换为 ascii(或我猜想的任何其他格式)。
我遇到的问题是,每次我尝试显示转换后的字符串时,它都是空的,但是,这个网站:Click! 在转换它时工作得很好。
从服务器接收到的示例十六进制:
008300DD0676657273696F6E3D25326674672532662B53746174696F6E2B3133266D6F64653D736563726574267265737061776E3D3026656E7465723D3126766F74653D302661693D3126686F7374266163746976655F706C61796572733D3026706C61796572733D3132267265766973696F6E3D64666639623862646165323234613332366364313166643566353431326638346463643565346237267265766973696F6E5F646174653D323031342D30382D32322661646D696E733D302667616D6573746174653D31266D61705F6E616D653D4D65746153746174696F6E00
我尝试了很多方法:这是我目前正在使用的方法:
public static string Hex2Ascii(string hexString){
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hexString.Length; i += 2)
{
string hs = hexString.Substring(i, 2);
sb.Append(Convert.ToString(Convert.ToChar(Int32.Parse(hexString.Substring(i, 2), System.Globalization.NumberStyles.HexNumber))));
}
return sb.ToString();
}
预期的结果是这样的:
ƒÝversion=%2ftg%2f+Station+13&mode=secret&respawn=0&enter=1&vote=0&ai=1&host&active_players=0&players=12&revision=dff9b8bdae224a326cd11fd5f5412f84dcd5e4b7&revision_date=2014-08-22&admins=0&gamestate=1&map_name=MetaStation
【问题讨论】:
-
您如何向我们展示您用来尝试转换它的代码?你期望输出是什么?