private static string JniMangle(string name)
{
StringBuilder sb = new StringBuilder();
foreach(char c in name)
{
if(c == '/')
{
sb.Append('_');
}
else if(c == '_')
{
sb.Append("_1");
}
else if(c == ';')
{
sb.Append("_2");
}
else if(c == '[')
{
sb.Append("_3");
}
else if((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
{
sb.Append(c);
}
else
{
sb.Append(String.Format("_0{0:x4}", (int)c));
}
}
return sb.ToString();
}