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("")


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