Unjs is an upside-down variant of javascript. It uses the following conversion table.
JS | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | [ | | | |] | ^ | _ | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z | { | } | ~ | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
UNJS | ¡ | „ | # | $ | % | ⅋ | ╻ | ) | ( | * | + | ʻ | - | ˙ | \ | 0 | ⇂ | ↊ | Ɛ | ᔭ | 5 | 9 | ∠ | 8 | 6 | : | ; | > | = | < | ¿ | @ | ∀ | ꓭ | Ͻ | ᗡ | Ǝ | ᖵ | ⅁ | H | I | ᒋ | ꓘ | ⅂ | ꟽ | N | O | Ԁ | Ꝺ | ꓤ | S | ꓕ | Ո | Ʌ | Ϻ | X | ⅄ | Z | ] | / | [ | ^ | ‾ | ` | ɐ | q | ɔ | p | ǝ | ⅎ | ƃ | ɥ | ᴉ | ɾ | ʞ | ʅ | ɯ | u | o | d | b | ɹ | s | ʇ | n | ʌ | ʍ | x | ʎ | z | } | { | ~ |
Usage:
unjs from helloworld.sɾ to helloworld.js
unjs from helloworld.js to helloworld.sɾ
File extension can either be .sɾ
or .sr
, depending on whether your system supports special characters in file extensions. It's a .sɾ
file because js
upside down is sɾ
.
There is a chance that this will not be compiled. In that case, replace unjs
with node {PATH_TO_UNJS}/unjs.js
.