Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Как работает Punycode? Алгоритм!!! (https://javascript.ru/forum/server/34225-kak-rabotaet-punycode-algoritm.html)

Hekumok 03.01.2013 12:42

Цитата:

Сообщение от platedz
Почему при " ~ " возвращает на 1 больше? Т.е. если R1 возвращает 0057, то R4 -0058

learn.javascript.ru/bitwise-operators
Цитата:

Сообщение от learn.javascript.ru/bitwise-operators
Из-за внутреннего представления отрицательных чисел получается так, что ~n == -(n+1).


platedz 03.01.2013 13:43

Почти, ясно. Неясно, только какое это внутреннее представление

platedz 03.01.2013 17:23

Подскажите, а есть ли какой-нибудь другой способ записи массива, кроме

var utf81 = [];
utf81[1] = "a";
utf81[4] = "b";

Навроде new array("1" => "a", 4 => "b");

Ну или еще как-то, чтобы можно было произвольно записать номера массивов в произвольном порядке

Deff 03.01.2013 17:33

utf81=["a", "b", ...]

platedz 03.01.2013 17:46

"а" должно быть в массиве под номером 1, а "b" четвертым

platedz 04.01.2013 01:14

Как-то я не очень понял с кодировкой в JavaScript, да и впринципе.
Т.е. по кодам символа он в принципе все верно выдает по кодам UTF-8.
Т.е. ставлю я на страницу cp1251 или utf-8 он или koi8-r к примеру. То по кодам символов он мне всегда выводит одни и те же русские буквы.

При этом здесь
http://ru.wikipedia.org/wiki/Windows-1251
русские символы описаны, по крайне мере в 16 разрядном представлении также как и в UTF-8, а если они одинаковые, то откуда тогда проблема с данными кодировками.

И что подразумевает под собой ascii кодировка
http://commons.wikimedia.org/wiki/Fi...gif?uselang=ru

platedz 04.01.2013 02:03

И еще непонятно почему когда пишу в 16-ричном представлении, то на выходе получаю в десятичном.

alert(0x451);


Вообще так понимаю, он всегда возвращает в десятичном или нет? И вообще как, когда и от чего зависит?

platedz 04.01.2013 02:06

И вообще с ASCII я не понял
Здесь такая таблица
http://www.asciitable.com./
а тут такая
http://commons.wikimedia.org/wiki/Fi...gif?uselang=ru

platedz 06.01.2013 02:06

Подскажите, пожалуйста, как можно преобразовать строку в массив, разбив каждый символ по порядку в виде массива, т.е.

var ar = "asdf";
а надо из ar получить
ar[0] = "a"
ar[1] = "s"
ar[2] = "d"
ar[3] = "f"

platedz 06.01.2013 02:44

Оказывается так "1234567890".split("")

9xakep 06.01.2013 10:00

platedz,
Насчет~
Открываем учебник информатики 9 класс

отр. числа в клмпьютере храняться вот так

0001 // 1
нвертируем
1110
прибавляем еденицу
1111 // получмем внутрннее представление числа -1 в омпьютере

platedz 06.01.2013 23:16

Подскажите, а как-то в одну строку перевести двоичное представление файлов

var d = parseInt("0xff",16);
alert("Так выходит "+d.toString(2));
var d = ~parseInt("0xff",16);
alert("и так выходит "+d.toString(2));
alert("a так не выходит "+~parseInt("0xff",16).toString(2));


И еще одни вопрос если не сложно ответьте.
есть объект a

var a = function () {
return {
a1: function(){},
a1: function(){}
}}()

и объкт b
var b = function () {
return {
b1: function(){},
b1: function(){}
}}()
Как перенести (скопировать) методы из объекта a в b?

platedz 08.01.2013 01:05

Подскажите. Этот div

document.getElementByTagName("div")[1] = onclick ....

еще не создан, но будет создан самим скриптом. Как же мне к нему применить onclick

9xakep 08.01.2013 01:45

platedz,
Если этот див не равно undefined, то бла-бла-бла

platedz 08.01.2013 02:02

Я думаю, разница не велика будет, если я его просто после загрузки скрипта создам, т.к. и в том и другом случае он не существует еще, а посему не работает так

<script>
	if(document.getElementById("div") != "undefined") document.getElementById("div").onclick  = function(){ alert('div'); };
</script>
<div id="div">div</div>

Deff 08.01.2013 05:24

<script>
window.onload=function(){
    document.getElementById("div").onclick  = function(){ alert('div'); };
}
</script>
<div id="div" style="border:1px solid blue; color:red; font-weight:700; cursor:pointer">div</div>


<script>
function Clk(a){ 
    alert('div'); 
};
</script>

<div id="div"  onclick="Clk(this)" style="border:1px solid blue; color:red; font-weight:700; cursor:pointer">div</div>

platedz 08.01.2013 13:48

Спасибо, но div я создал после только чтобы показать, что так не сработает, а выглядет это примерно так

methods = function(){
return {
	add: function()
		{
			document.getElementById("d").innerHTML = "<div id='div'>div</div>"; 
			
		}
	}
}()



document.getElementById("div").onclick  = function(){ alert('div'); };

При этом
document.getElementById("div").onclick = function(){ alert('div'); };
можно засунуть в сам метод add, но он мне там нужен не всегда, т.е. в зависимости от страниц, а потому хотелось бы его отдельно создать.


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