2014-09-19 2 views
0

Мне нужно преобразовать шестнадцатеричную строку (полученную с игрового сервера через сокет), в ascii (или любой другой формат, который работает, я думаю).C# Преобразование Hex в ASCII

Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я пытаюсь отобразить преобразованную строку, она равна нулю, однако этот сайт: Click! работает очень хорошо в преобразовании.

Пример Hex, полученный от сервера:

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 
+1

Как вы показываете нам код, который используете, чтобы его конвертировать? Что вы ожидаете от вывода? –

+0

Добавил ваш запрос. – DRenold

ответ

1

Ваша строка примера, кажется, имеет нулевой символ сначала, который прервет вашу строку перед этим даже началось. Если вы удалите «008300» -prefix со своего ввода, он, похоже, работает.

+0

Хех. По-видимому, это представляет собой нечетный характер, который прервет строку, как она работает сейчас, спасибо! – DRenold

Смежные вопросы