apple-ii-universal-machine / encoding /reverse-unicode.js
SNAPKITTYWEST's picture
push from SNAPKITTYWEST/apple-ii-universal-machine
e870690 verified
Raw
History Blame Contribute Delete
1.74 kB
var ReverseUnicode = {
mirrorMap: {
'a': '\u0250', 'b': '\u0183', 'c': '\u0254', 'd': '\u018A',
'e': '\u01DD', 'f': '\u025F', 'g': '\u0283', 'h': '\u0265',
'i': '\u0131', 'j': '\u027F', 'k': '\u029E', 'l': '\u026F',
'm': '\u026D', 'n': '\u014B', 'o': '\u0275', 'p': '\u028C',
'q': '\u0250', 'r': '\u027E', 's': '\u0282', 't': '\u0287',
'u': '\u028A', 'v': '\u028C', 'w': '\u026D', 'x': '\u00D7',
'y': '\u028E', 'z': '\u0251',
'A': '\u2200', 'B': '\u0181', 'C': '\u0186', 'D': '\u018A',
'E': '\u018E', 'F': '\u2132', 'G': '\u0193', 'H': '\u0179',
'I': '\u0196', 'J': '\u017F', 'K': '\u0198', 'L': '\u02E1',
'M': '\u019C', 'N': '\u014A', 'O': '\u019F', 'P': '\u01A3',
'Q': '\u024A', 'R': '\u0280', 'S': '\u0161', 'T': '\u0166',
'U': '\u0168', 'V': '\u0245', 'W': '\u024B', 'X': '\u00D7',
'Y': '\u01B4', 'Z': '\u023F',
'0': '0', '1': '1', '2': '2', '3': '3', '4': '4',
'5': '5', '6': '6', '7': '7', '8': '8', '9': '9',
' ': ' ', '.': '\u02D9', ',': '\u02CC', '!': '\u00A1',
'?': '\u00BF', '(': ')', ')': '(', '[': ']', ']': '[',
'{': '}', '}': '{', '<': '>', '>': '<', '"': '"', "'": "'"
},
reverse: function(input) {
return input.split('').reverse().join('');
},
mirror: function(input) {
var self = this;
return input.split('').map(function(ch) {
return self.mirrorMap[ch] || ch;
}).join('');
},
restore: function(input) {
var reverseMap = {};
var self = this;
Object.keys(this.mirrorMap).forEach(function(k) {
reverseMap[self.mirrorMap[k]] = k;
});
return input.split('').map(function(ch) {
return reverseMap[ch] || ch;
}).join('');
}
};