public static String UnEscapeBinaryString(String s)
{
StringBuilder buf = new StringBuilder();
char[] cc = s.ToCharArray();
int len = cc.Length;
for (int k = 0; k < len; ++k) {
char c = cc[k];
if (c == '\\') {
if (++k >= len) {
buf.Append('\\');
break;
}
c = cc[k];
if (c >= '0' && c <= '7') {
int n = c - '0';
++k;
for (int j = 0; j < 2 && k < len; ++j) {
c = cc[k];
if (c >= '0' && c <= '7') {
++k;
n = n * 8 + c - '0';
}
else {
break;
}
}
--k;
buf.Append((char)n);
}
else
buf.Append(c);
}
else
buf.Append(c);
}
return buf.ToString();
}