Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.01.2017, 01:10
Новичок на форуме
Отправить личное сообщение для VReactor Посмотреть профиль Найти все сообщения от VReactor
 
Регистрация: 24.01.2017
Сообщений: 6

Побитовые операции
Всем привет, пожалуйста можете посмотреть скрипт и помочь исправить, и объяснить, попытался сделать, но правильно не шифруется
Исхoдный тeкст обрaбатываeтся посимвольно. Символ разбивается на два байта.
Шифрование происходит инверсией бит (0 ↔ 1) в правом байте символа.
"use strict"

function Main()
{
    var text = [];

var that = this;


this.charCode = function(ch){
        //извлечь байты
        var left = ch.charCodeAt() >> 8;// Нужно еще перевести в 2-ую СС?
        var right = ch.charCodeAt(); //
        right = that.swapBits( right );
 
        // сложить в один char
        return String.fromCharCode( left << 8 | right );
}

 this.swapBits = function(x){
        return ~x;
    }

     this.mainP = function()
    {
 
        var myString = "Жи Ши пиши";

        for(var i = 0; i < myString.length; i++){
        	text[i] = myString.charAt( i );
        }
         console.log(text);
 
        for (var i = 0; i < text.length; i++)
        {
            text[i] = that.charCode(text[i]);
        }
       
         console.log(text);
    }

    function stringToBytes ( str ) {
	var ch, st, re = [], j=0;
	for (var i = 0; i < str.length; i++ ) {
		ch = str.charCodeAt(i);
		if(ch < 127)
		{
			re[j++] = ch & 0xFF;
		}
		else
		{
			st = [];    // clear stack
			do {
				st.push( ch & 0xFF );  // push byte to stack
				ch = ch >> 8;          // shift value down by 1 byte
			}
			while ( ch );
			st = st.reverse();
			for(var k=0;k<st.length; ++k)
				re[j++] = st[k];
		}
	}
	return re;
}

}

Последний раз редактировалось VReactor, 30.01.2017 в 01:14.
Ответить с цитированием
  #2 (permalink)  
Старый 01.02.2017, 00:01
Аватар для GayCoder
Аспирант
Отправить личное сообщение для GayCoder Посмотреть профиль Найти все сообщения от GayCoder
 
Регистрация: 28.01.2016
Сообщений: 99

vanished

Последний раз редактировалось GayCoder, 02.08.2020 в 17:16.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование (битовые операции) VReactor Javascript под браузер 0 25.01.2017 22:30
Арканоид - побитовые операции (замена на условия) Eadweard Events/DOM/Window 8 14.03.2016 16:12
Побитовые операции antserg Общие вопросы Javascript 1 04.04.2013 14:50
Тернарные операции - да или нет animhotep Общие вопросы Javascript 14 24.01.2013 11:35
разное время выполнения операции ropowek Events/DOM/Window 2 08.10.2008 13:27