Показать сообщение отдельно
  #7 (permalink)  
Старый 26.03.2014, 20:25
Аватар для Дзен-трансгуманист
√₋̅₁̅
Отправить личное сообщение для Дзен-трансгуманист Посмотреть профиль Найти все сообщения от Дзен-трансгуманист
 
Регистрация: 18.06.2012
Сообщений: 385

function encode ( source ) {

  for ( var result = '', int32, i = 0; i < source.length; ) {

    int32 = source.charCodeAt(i++) << 16 | source.charCodeAt(i++);
    int32 = int32 << 2 | int32 >>> 30;
    result += String.fromCharCode( int32 >>> 16, int32 & 65535 );
  }

  return result;
}

function decode ( result ) {

  for ( var source = '', int32, i = 0; i < result.length; ) {

    int32 = result.charCodeAt(i++) << 16 | result.charCodeAt(i++);
    int32 = int32 >>> 2 | int32 << 30;
    source += String.fromCharCode( int32 >>> 16, int32 & 65535 );
  }

  return source.charCodeAt(i-1) == 0 ? source.slice(0, -1) : source;
}

console.log( encode( 'мама мыла раму' ));
console.log( decode( encode( 'мама мыла раму' )));

dmitriy37,
Всё довольно просто, не так ли? ))
__________________

Гейзенберг, возможно, читал этот тред.

Последний раз редактировалось Дзен-трансгуманист, 26.03.2014 в 22:45.
Ответить с цитированием