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

T-sh 02.04.2012 01:27

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 166411)
Почти.
<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 умеет работать с произвольными основаниями.


кстати, да...

andrewvas 02.04.2012 11:10

Я имел в виду небольшие комментарии к строкам)
Печально, что только для одной буквы( Мне надо чтобы скрипт переводил текст в двоичную систему и проделывал ИСКЛ ИЛИ с другим вводимым текстом. Причем второй текст, если не хватает символов повторялся циклически.

T-sh 02.04.2012 11:15

Цитата:

Сообщение от andrewvas (Сообщение 166464)
Я имел в виду небольшие комментарии к строкам)
Печально, что только для одной буквы( Мне надо чтобы скрипт переводил текст в двоичную систему и проделывал ИСКЛ ИЛИ с другим вводимым текстом. Причем второй текст, если не хватает символов повторялся циклически.

ничего не понял.. перевести текст — легко :) а по поводу: "и проделывал ИСКЛ ИЛИ с другим вводимым текстом. Причем второй текст, если не хватает символов повторялся циклически." покажите на примере, как это должно работать :)

но всё-таки, это уже будет готовая работа, поэтому порядка ради — 5$ :)

andrewvas 02.04.2012 11:22

Допустим у нас есть два поля для ввода, назовем их тхт1 и тхт2, со значениями ЯБЛОКО и РОТ соответственно. Скрипт берет тхт1 и тхт2, переводит каждую буквы в бинарную сс. Проделывает ИСКЛЮЧАЮЩЕЕ ИЛИ.
Я^Р
Б^О
Л^Т
О^Р
К^О
О^Т
Что-то типо этого)

andrewvas 02.04.2012 11:23

А из получившиеся двоичные числа, опять в текст)

Valmont 19.10.2013 23:16

http://www.webforever.info/binaryDecode/coder.php вот переводчик)

Deff 20.10.2013 09:11

Цитата:

Сообщение от andrewvas
Допустим у нас есть два поля для ввода, назовем их тхт1 и тхт2, со значениями ЯБЛОКО и РОТ соответственно. Скрипт берет тхт1 и тхт2, переводит каждую буквы в бинарную сс. Проделывает ИСКЛЮЧАЮЩЕЕ ИЛИ.

Поскольку число букв ограничено и алгоритм - жесткий автомат, - проще построить массив перевода
типо на входе два параметра - на выходе итог
Если весь огород для шифрования, то есть более простые и эффективные алгоритмы

JeyLo 07.03.2018 21:12

Друг, объясни пожалуйста, в этой строке if ( ex>0xFF ){ ex-=0x350; } почему нужно именно "0x350" вычитать? Не просто же так число взято, но почему именно "0x350"?

Alexandroppolus 07.03.2018 22:56

0x350 (или 848 в десятичной) - это разница между позицией кириллической буквы в utf16 и CP-1251
js все строки держит в utf16, вот и вычитаем

JeyLo 08.03.2018 11:43

Alexandroppolus, Спасибо! Всё понял.:thanks:


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