楽しみのために、別のバージョンをいくつか。Java、US-ASCII のみ、文字 0x14 ~ 0xc7。
public static String basicDecrypt(String input)
{
StringBuffer output = new StringBuffer();
Matcher matcher = Pattern.compile("(1..|[2-9].)").matcher(input);
while(matcher.find())
output.append((char)Integer.parseInt(matcher.group()));
return output.toString();
}
0x1e-0xff の場合、正規表現を"([12]..|[3-9].)"
...そしてやや簡潔な Linq'y C# バージョン。
private static string BasicDecrypt(string input)
{
return new string(Regex.Matches(input, "(1..|[2-9].)").Cast<Match>()
.Select(x => (char) Int32.Parse(x.Value)).ToArray());
}