var result = encodeURIComponent('кодированный текст here');
alert(result);
alert(decodeURIComponent(result));
Посмотреть пример.
Вариант с
base64:
var result = $.base64.encode(encodeURIComponent("вот такой вот метод кодирования\nраз, два, три!"));
result = result.replace(/[\+]{1}/g, '@').replace(/[\=]{1}/g, '~').replace(/[\/]{1}/g, '$');
console.log(result);
result = result.replace(/[\@]{1}/g, '+').replace(/[\~]{1}/g, '=').replace(/[\$]{1}/g, '/');
console.log(result)
console.log(decodeURIComponent($.base64.decode(result)));
Результат:
Измененный вид Base64:
JUQwJUIyJUQwJUJFJUQxJTgyJTIwJUQxJTgyJUQwJUIwJUQwJUJBJUQwJUJFJUQwJUI5JTIwJUQwJUIyJUQwJUJFJUQxJTgyJTIwJUQwJUJDJUQwJUI1JUQxJTgyJUQwJUJFJUQwJUI0JTIwJUQwJUJBJUQwJUJFJUQwJUI0JUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThGJTBBJUQxJTgwJUQwJUIwJUQwJUI3JTJDJTIwJUQwJUI0JUQwJUIyJUQwJUIwJTJDJTIwJUQxJTgyJUQxJTgwJUQwJUI4IQ~~
Возвращаем нормальный вид Base64:
JUQwJUIyJUQwJUJFJUQxJTgyJTIwJUQxJTgyJUQwJUIwJUQwJUJBJUQwJUJFJUQwJUI5JTIwJUQwJUIyJUQwJUJFJUQxJTgyJTIwJUQwJUJDJUQwJUI1JUQxJTgyJUQwJUJFJUQwJUI0JTIwJUQwJUJBJUQwJUJFJUQwJUI0JUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThGJTBBJUQxJTgwJUQwJUIwJUQwJUI3JTJDJTIwJUQwJUI0JUQwJUIyJUQwJUIwJTJDJTIwJUQxJTgyJUQxJTgwJUQwJUI4IQ==
Декодируем Base64:
вот такой вот метод кодирования
раз, два, три!
Посмотреть пример.
С кодировками текста не стал разбираться, просто сделал
encodeURIComponent/
decodeURIComponent. Проблему с кодировками, в принципе, можно решить более человеческим способом, если это необходимо и есть желание :-)