追記

普通にJavaScript組み込みのハッシュ表でいいじゃないかって?
っ[ google:"ハンマーを持つと全てが釘に見える"

var inv = new Array();
var codes = new Array(
0x20ac,0x81,0x201a,0x192,0x201e,0x2026,0x2020,0x2021,
0x2c6,0x2030,0x160,0x2039,0x152,0x8d,0x17d,0x8f,
0x90,0x2018,0x2019,0x201c,0x201d,0x2022,0x2013,0x2014,
0x2dc,0x2122,0x161,0x203a,0x153,0x9d,0x17e,0x178
                      );

for (var i = 0; i < 0x20; ++i) {
    inv[codes[i].toString(16)] = i + 0x80;
}

function uniso8859_1(code) {
    var shifted = code >>> 8;
    if (shifted != 0) {
        return inv[code.toString(16)];
    }
    else {
        return code;
    }
}

toString(36) としてアルファベット26文字を全部使う方が文字列表現が微妙に短くなって特かもしれない?(例:0x2122 == 6jm(36) )