public static String EscapeBinaryString(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 < ' ') {
buf.Append('\\');
((int)c).ToString("", System.Globalization.CultureInfo.InvariantCulture);
String octal = "00" + Convert.ToString((int)c, 8);
buf.Append(octal.Substring(octal.Length - 3));
}
else if (c == '\\')
buf.Append("\\\\");
else
buf.Append(c);
}
return buf.ToString();
}