diff --git a/lib/pages/EncrypterPage.dart b/lib/pages/EncrypterPage.dart index 2185a37..847c706 100644 --- a/lib/pages/EncrypterPage.dart +++ b/lib/pages/EncrypterPage.dart @@ -37,6 +37,7 @@ class _EncrypterPageState extends State { @override Widget build(BuildContext context) { binary.text = extractBinaryFromGrid(); + ascii.text = parseUnix(binary.text); return SafeArea( child: Scaffold( backgroundColor: Colors.black, @@ -232,6 +233,22 @@ class _EncrypterPageState extends State { } return binary; } + + String parseUnix(String binary) { + String unix = ""; + for (int i = 0; i < binary.length; ++i) { + String sub = ""; + if ((i + 12) <= binary.length) { + sub = binary.substring(i, (i = i + 12)); + --i; + } else { + sub = binary.substring(i); + i = binary.length; + } + unix += String.fromCharCode(int.parse(sub, radix: 2)); + } + return unix; + } } class AlwaysDisabledFocusNode extends FocusNode {