FgWolk
@FgWolk

Как сделать обратную функцию этой?

Я не особо силен в байтах.

Помогите написать функцию обратную этой:

public static string BuildByteArray(string str)
        {
            char ch;
            StringBuilder buf = new StringBuilder("bytearray(");
            for (int i = 0; i < str.Length; i++)
            {
                ch = str[i];
                if ((ch & 0xFF) >= 16)
                    buf.Append(" ");
                else
                    buf.Append(" 0");
                buf.Append((ch & 0xFF).ToString("X"));
                if ((ch >> 8) > 16)
                    buf.Append(" ");
                else
                    buf.Append(" 0");
                buf.Append((ch >> 8).ToString("X"));
            }
            buf.Append(")");

            return buf.ToString();
        }


Результат выполнения функции строка вида

"4C 04 3F 04 3C 04 42 04 4A 04 29 04"

Нужна функция в которую можно впихнуть строку "4C 04 3F 04 3C 04 42 04 4A 04 29 04" и она выдаст результат
  • Вопрос задан
  • 312 просмотров
Пригласить эксперта
Ответы на вопрос 2
artem_b89
@artem_b89
Сетевой бездельник
Как-то так. Нужно будет немного допилить напильником
public static string Back(string input)
{
StringBuilder result = new StringBuilder();
var sp = input.Split(' ');
for (int i = 0; i < sp.Length; i++)
{
if (String.IsNullOrWhiteSpace(sp[i])) continue;
var b=byte.Parse(sp[i], System.Globalization.NumberStyles.AllowHexSpecifier);
char ch = (char)b;
result.Append(ch);
}
return result.ToString();
}
Ответ написан
Neuroware
@Neuroware
Программист в свободное от работы время
А не проще Base64 использовать?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы