2016-06-27 6 views
1

Я кодирую в C#. Мне нужно прочитать строку байтов без преобразования.C# чтение байтового массива в виде строки

байт: 68 строка: 44

Я хочу, чтобы иметь возможность преобразовать его с помощью кода


Я понял это

#region "Grab Bytes Function" 
private string grabBytes(byte[] buffer) 
{ 
    byte[] bytes = buffer; 
    string output = string.Empty; 
    foreach (byte item in bytes) 
    { 
      output += Convert.ToString(item, 16).ToUpper().PadLeft(2, '0'); 
    } 
    return output; 
} 
#endregion 
#region "Grab String Function" 
private string grabString(byte[] buffer) 
{ 
    byte[] bytes = buffer; 
    string output = string.Empty; 
    foreach (byte item in bytes) 
    { 
     for (int i = 0; i < 255; i++) 
     { 
      if (grabBytes(new byte[] { item }) == grabBytes(new byte[] { byte.Parse(i.ToString()) })) 
       output += item + "."; 
     } 
    } 
    string output1 = output.Remove(output.Count() - 1, 1); 
    if (output1 != "0.0.0.0") 
     return output1; 
    else 
     return ""; 
} 
#endregion 
+0

- это байты, хранящиеся в строке или байте []. если это так, вам просто нужно преобразовать его: 'var str = System.Text.Encoding.Default.GetString (result);'. Если это строка, вам нужно проанализировать строку, а затем преобразовать. –

+0

, который не работает, он просто получает строку. и я понял это –

+0

спасибо за вежливый ответ за попытку помочь вам. –

ответ

0

Ваш код эквивалентен этот :

private string grabString(byte[] buffer) 
{ 
    var asDecimal = string.Join(".", buffer)); 
    return (asDecimal == "0.0.0.0" ? "" : asDecimal); 
} 
Смежные вопросы