Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Алгоритм преобразования Unicod / 4 сообщений из 4, страница 1 из 1
25.11.2007, 13:50
    #34963598
HelpMy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм преобразования Unicod
В этои промежутке лежит руский язык D0 80 — D3 BF но как из этих двух чисел получать одно в десятичной системе исчисления соответствующие 1040-1105 мне не понятно и найти не могу... может кто подскажите где посмотреть.
...
Рейтинг: 0 / 0
25.11.2007, 14:18
    #34963615
HelpMy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм преобразования Unicod
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
function Decode(a_first,a_second){
var l_num,par1,par2,par3,par4,spar2,spar4;
switch (a_first.substr( 0 , 1 )){
  case 'A':par1= 10 ;break;
  case 'B':par1= 11 ;break;
  case 'C':par1= 12 ;break;
  case 'D':par1= 13 ;break;
  case 'E':par1= 14 ;break;
  case 'F':par1= 15 ;break;
default :par1=a_first.substr( 0 , 1 );break;
};
par1=parseInt(par1)* 16 ;
switch (a_first.substr( 1 , 1 )){
  case 'A':par2= 10 ;break;
  case 'B':par2= 11 ;break;
  case 'C':par2= 12 ;break;
  case 'D':par2= 13 ;break;
  case 'E':par2= 14 ;break;
  case 'F':par2= 15 ;break;
default :par2=a_first.substr( 1 , 1 );break;
};
par1=parseInt(par1)+parseInt(par2);
switch (a_second.substr( 0 , 1 )){
  case 'A':par3= 10 ;break;
  case 'B':par3= 11 ;break;
  case 'C':par3= 12 ;break;
  case 'D':par3= 13 ;break;
  case 'E':par3= 14 ;break;
  case 'F':par3= 15 ;break;
default :par3=a_second.substr( 0 , 1 );break;
};
par3=parseInt(par3)* 16 ;
switch (a_second.substr( 1 , 1 )){
  case 'A':par4= 10 ;break;
  case 'B':par4= 11 ;break;
  case 'C':par4= 12 ;break;
  case 'D':par4= 13 ;break;
  case 'E':par4= 14 ;break;
  case 'F':par4= 15 ;break;
default :par4=a_second.substr( 1 , 1 );break;
};
par3=parseInt(par3)+parseInt(par4);
par2=(par1- 192 )/ 4 ;
par2=par2.toString();
if (Math.round(par2)==par2){par4= 0 }
else {
  if (par2.indexOf('.')!=- 1 ) {
    par4='0.'+par2.substring(par2.indexOf('.')+ 1 ,par2.length);
    par2=par2.substring( 0 ,par2.indexOf('.'));
  }
  else {
    par4='0,'+par2.substring(par2.indexOf(',')+ 1 ,par2.length);
    par2=par2.substring( 0 ,par2.indexOf(','));
  }
}
l_num= 256 *par2+par4* 64 +(par3 -  128 );
y=String.fromCharCode(l_num);
}
Вот такой код у меня получился.
Но почемуто если первое число не четное то получается лабуда в место букв....
...
Рейтинг: 0 / 0
25.11.2007, 15:13
    #34963665
HelpMy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм преобразования Unicod
Как всегда перемудрил так все работает отлично.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
function Decode(a_first,a_second){
var l_num,par1,par2,par3,par4,spar2,spar4;
switch (a_first.substr( 0 , 1 )){
  case 'A':par1= 10 ;break;
  case 'B':par1= 11 ;break;
  case 'C':par1= 12 ;break;
  case 'D':par1= 13 ;break;
  case 'E':par1= 14 ;break;
  case 'F':par1= 15 ;break;
default :par1=a_first.substr( 0 , 1 );break;
};
par1=parseInt(par1)* 16 ;
switch (a_first.substr( 1 , 1 )){
  case 'A':par2= 10 ;break;
  case 'B':par2= 11 ;break;
  case 'C':par2= 12 ;break;
  case 'D':par2= 13 ;break;
  case 'E':par2= 14 ;break;
  case 'F':par2= 15 ;break;
default :par2=a_first.substr( 1 , 1 );break;
};
par1=parseInt(par1)+parseInt(par2);
switch (a_second.substr( 0 , 1 )){
  case 'A':par3= 10 ;break;
  case 'B':par3= 11 ;break;
  case 'C':par3= 12 ;break;
  case 'D':par3= 13 ;break;
  case 'E':par3= 14 ;break;
  case 'F':par3= 15 ;break;
default :par3=a_second.substr( 0 , 1 );break;
};
par3=parseInt(par3)* 16 ;
switch (a_second.substr( 1 , 1 )){
  case 'A':par4= 10 ;break;
  case 'B':par4= 11 ;break;
  case 'C':par4= 12 ;break;
  case 'D':par4= 13 ;break;
  case 'E':par4= 14 ;break;
  case 'F':par4= 15 ;break;
default :par4=a_second.substr( 1 , 1 );break;
};
par3=parseInt(par3)+parseInt(par4);
par2=(par1- 192 )/ 4 ;
par2=par2.toString();
l_num= 256 *par2+(par3 -  128 );
y=String.fromCharCode(l_num);
}
...
Рейтинг: 0 / 0
25.11.2007, 16:13
    #34963733
Frenzy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм преобразования Unicod
омг.. велосипедистам посвещается..

parseInt()
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Алгоритм преобразования Unicod / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]