Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Перевод букв в двоичную систему счисления (https://javascript.ru/forum/misc/27061-perevod-bukv-v-dvoichnuyu-sistemu-schisleniya.html)

andrewvas 01.04.2012 18:54

Перевод букв в двоичную систему счисления
 
Вложений: 1
Нужен скрипт который переводит русские буквы алфавита в двоичную систему счисления, согласно с таблицей CP-1251.

T-sh 01.04.2012 19:02

сколько платите? :)

andrewvas 01.04.2012 19:29

мы студенты небогатые)
дайте хоть совет чтоль)

T-sh 01.04.2012 19:55

ну как же.. берешь десятичный код из код.таблицы и переводишь его в двоичный :) всё)))

andrewvas 01.04.2012 21:48

ладно, сколько?)

T-sh 01.04.2012 23:28

что-то или я туплю, или вот это работает:

<script>
function getBin( str ){
 var ex = str.charCodeAt( 0 );
 if ( ex>0xFF ){ ex-=0x350; }
 var bin = ""; 
    do  
    {  
      if( ex & 1 ){ bin += '1';}  
      else { bin += '0'; }  
      ex = ex >> 1; 
    }while( ex );  
	 return ( '\u202E' + bin );
}

var str = "о";
alert(getBin( str ));
</script>


бесплатно :)

T-sh 01.04.2012 23:32

да, забыл.. кодировка на странице со скриптом обязательно должна быть UTF-8 :)

andrewvas 02.04.2012 01:07

спасибо)
Но как это работает?:)

B@rmaley.e><e 02.04.2012 01:20

Цитата:

Сообщение от T-sh
вот это работает

Почти.
<script>
function getBin( str ){
 var ex = str.charCodeAt( 0 );
 if ( ex>0xFF ){ ex-=0x350; }
 var bin = ""; 
    do  
    {  
      if( ex & 1 ){ bin += '1';}  
      else { bin += '0'; }  
      ex = ex >> 1; 
    }while( ex );  
	 return ( '\u202E' + bin );
}

var str = "Ё";
alert([getBin( str ), '10101000'].join('\n'));
</script>

BTW, Number.prototype.toString умеет работать с произвольными основаниями.

T-sh 02.04.2012 01:26

Цитата:

Сообщение от andrewvas (Сообщение 166407)
спасибо)
Но как это работает?:)

всмысле? как этим пользоваться?

ну, например, так:

<html>
<head>
<script>
window.onload = function() {

function getBin( str ){
 var ex = str.charCodeAt( 0 );
 if ( ex>0xFF ){ ex-=0x350; }
 var bin = ""; 
    do  
    {  
      if( ex & 1 ){ bin += '1';}  
      else { bin += '0'; }  
      ex = ex >> 1; 
    }while( ex );  
	 alert( '\u202E' + bin );
}
        var ratevalue = document.getElementById('txt');
        var mark = document.getElementById('button');
		var i;
        mark.onclick = function() { i = ratevalue.value;  getBin(i);  }
}
</script>
</head>
<body>
<div>
    Введите ОДНУ букву: <br>
	<input type="text" id="txt"/>
	<button id='button'> Получить бинарное представление </button>
	
</div>
</body>
</html>


Часовой пояс GMT +3, время: 10:58.