Skip to main content

ahe

Alphabet to hieroglyph encode.

Example

$ cat cli.ts
const { stdin, stdout } = Deno;
const rbuf = new Uint8Array(1024 * 8);
const wbuf = new Uint8Array(rbuf.length * 2);
const enc = new TextEncoder();

while (true) {
    const n = await stdin.read(rbuf);
    if (n === null) {
        break;
    }

    let p = 0;
    for (const c of rbuf) {
        const s = encode(c);
        if (s !== null) {
            const a = enc.encode(s);
            wbuf.set(a, p);
            p += a.length;
        } else {
            wbuf.set([c], p);
            p += 1;
        }
    }

    let r = p;
    while (r) {
        r -= await stdout.write(wbuf.slice(p - r, p));
    }
}
...
$ cat cli.ts | deno run https://deno.land/x/ahe@v0.0.3/cli.ts
π“Ž‘π“―π“ˆ–π“‹΄π“ { π“‹΄π“π“‚§π“‡‹π“ˆ–, 𓋴𓏏𓂧𓍯𓅱𓏏 } = π“‚§π“‡‹π“ˆ–π“―;
π“Ž‘π“―π“ˆ–π“‹΄π“ 𓂋𓃀𓅱𓆑 = π“ˆ–π“‡‹π“…± π“…±π“‡‹π“ˆ–π“8𓄿𓂋𓂋𓄿𓇋(1024 * 8);
π“Ž‘π“―π“ˆ–π“‹΄π“ 𓅱𓃀𓅱𓆑 = π“ˆ–π“‡‹π“…± π“…±π“‡‹π“ˆ–π“8𓄿𓂋𓂋𓄿𓇋(𓂋𓃀𓅱𓆑.π“ƒ­π“‡‹π“ˆ–π“ŽΌπ“π“Ž› * 2);
π“Ž‘π“―π“ˆ–π“‹΄π“ π“‡‹π“ˆ–π“Ž‘ = π“ˆ–π“‡‹π“…± π“π“‡‹π“Ž‘π“‹΄π“π“‡‹π“ˆ–π“Ž‘π“―π“‚§π“‡‹π“‚‹();

π“…±π“Ž›π“‡‹π“ƒ­π“‡‹ (𓏏𓂋𓅱𓇋) {
    π“Ž‘π“―π“ˆ–π“‹΄π“ π“ˆ– = 𓄿𓅱𓄿𓇋𓏏 π“‹΄π“π“‚§π“‡‹π“ˆ–.𓂋𓇋𓄿𓂧(𓂋𓃀𓅱𓆑);
    𓇋𓆑 (π“ˆ– === π“ˆ–π“…±π“ƒ­π“ƒ­) {
        π“ƒ€π“‚‹π“‡‹π“„Ώπ“Ž‘;
    }

    𓃭𓇋𓏏 𓏀 = 0;
    𓆑𓍯𓂋 (π“Ž‘π“―π“ˆ–π“‹΄π“ π“Ž‘ 𓍯𓆑 𓂋𓃀𓅱𓆑) {
        π“Ž‘π“―π“ˆ–π“‹΄π“ π“‹΄ = π“‡‹π“ˆ–π“Ž‘π“―π“‚§π“‡‹(π“Ž‘);
        𓇋𓆑 (π“‹΄ !== π“ˆ–π“…±π“ƒ­π“ƒ­) {
            π“Ž‘π“―π“ˆ–π“‹΄π“ π“„Ώ = π“‡‹π“ˆ–π“Ž‘.π“‡‹π“ˆ–π“Ž‘π“―π“‚§π“‡‹(π“‹΄);
            𓅱𓃀𓅱𓆑.𓋴𓇋𓏏(π“„Ώ, 𓏀);
            𓏀 += π“„Ώ.π“ƒ­π“‡‹π“ˆ–π“ŽΌπ“π“Ž›;
        } 𓇋𓃭𓋴𓇋 {
            𓅱𓃀𓅱𓆑.𓋴𓇋𓏏([π“Ž‘], 𓏀);
            𓏀 += 1;
        }
    }

    𓃭𓇋𓏏 π“‚‹ = 𓏀;
    π“…±π“Ž›π“‡‹π“ƒ­π“‡‹ (π“‚‹) {
        π“‚‹ -= 𓄿𓅱𓄿𓇋𓏏 𓋴𓏏𓂧𓍯𓅱𓏏.𓅱𓂋𓇋𓏏𓇋(𓅱𓃀𓅱𓆑.π“‹΄π“ƒ­π“‡‹π“Ž‘π“‡‹(𓏀 - π“‚‹, 𓏀));
    }
}
...
$ ping -c4 1.1.1.1 | deno run https://deno.land/x/ahe@v0.0.2/cli.ts
π“€π“‡‹π“ˆ–π“ŽΌ 1.1.1.1 (1.1.1.1) 56(84) 𓃀𓇋𓏏𓇋𓋴 𓍯𓆑 𓂧𓄿𓏏𓄿.
64 𓃀𓇋𓏏𓇋𓋴 𓆑𓂋𓍯𓅓 1.1.1.1: π“‡‹π“Ž‘π“…“π“€_π“‹΄π“‡‹π“˜=1 𓏏𓏏𓃭=54 𓏏𓇋𓅓𓇋=16.2 π“…“π“‹΄
64 𓃀𓇋𓏏𓇋𓋴 𓆑𓂋𓍯𓅓 1.1.1.1: π“‡‹π“Ž‘π“…“π“€_π“‹΄π“‡‹π“˜=2 𓏏𓏏𓃭=54 𓏏𓇋𓅓𓇋=10.6 π“…“π“‹΄
𓆑𓂋𓍯𓅓 1.1.1.1: π“‡‹π“Ž‘π“…“π“€_π“‹΄π“‡‹π“˜=1 𓏏𓏏𓃭=54 𓏏𓇋𓅓𓇋=16.2 π“…“π“‹΄
64 𓃀𓇋𓏏𓇋𓋴 𓆑𓂋𓍯𓅓 1.1.1.1: π“‡‹π“Ž‘π“…“π“€_π“‹΄π“‡‹π“˜=3 𓏏𓏏𓃭=54 𓏏𓇋𓅓𓇋=9.32 π“…“π“‹΄
𓆑𓂋𓍯𓅓 1.1.1.1: π“‡‹π“Ž‘π“…“π“€_π“‹΄π“‡‹π“˜=1 𓏏𓏏𓃭=54 𓏏𓇋𓅓𓇋=16.2 π“…“π“‹΄
64 𓃀𓇋𓏏𓇋𓋴 𓆑𓂋𓍯𓅓 1.1.1.1: π“‡‹π“Ž‘π“…“π“€_π“‹΄π“‡‹π“˜=4 𓏏𓏏𓃭=54 𓏏𓇋𓅓𓇋=10.5 π“…“π“‹΄

--- 1.1.1.1 π“€π“‡‹π“ˆ–π“ŽΌ π“‹΄π“π“„Ώπ“π“‡‹π“‹΄π“π“‡‹π“Ž‘π“‹΄ ---
4 π“€π“„Ώπ“Ž‘π“Ž‘π“‡‹π“π“‹΄ π“π“‚‹π“„Ώπ“ˆ–π“‹΄π“…“π“‡‹π“π“π“‡‹π“‚§, 4 π“‚‹π“‡‹π“Ž‘π“‡‹π“‡‹π“†‘π“‡‹π“‚§, 0% π“€π“„Ώπ“Ž‘π“Ž‘π“‡‹π“ 𓃭𓍯𓋴𓋴, 𓏏𓇋𓅓𓇋 3004π“…“π“‹΄
𓂋𓏏𓏏 π“…“π“‡‹π“ˆ–/π“„Ώπ“†‘π“ŽΌ/π“…“π“„Ώπ“Ž‘π“‹΄/𓅓𓂧𓇋𓆑 = 9.318/11.655/16.179/2.660 π“…“π“‹΄

License

MIT