|
Кодировка символов в JavaScript | ☑ | ||
---|---|---|---|---|
0
Помогите
13.04.12
✎
05:33
|
Делаю вывод в COM-порт строки в кодировке DOS из текстового поля на странице HTML, но выводится не понять что, совсем не та кодировка. Как исправить?
<html>
|
|||
1
Помогите
13.04.12
✎
05:52
|
Если в переменную в тексте скрипта присваиваю текст в кодировке ДОС, и в браузере страница отображается в кодировке ДОС, то в порт выходит не то.
Но если в браузере страница отображается в кодировке Windows, то в порт выходит то что нужно в ДОС кодировке. А если брать текст не из переменной, а из текстового поля на странице, то вообще всегда что попало выводится |
|||
2
Помогите
13.04.12
✎
07:19
|
Up
|
|||
3
Мизантроп
13.04.12
✎
07:23
|
Скоро вам предложат платную консультацию
|
|||
4
Помогите
13.04.12
✎
07:35
|
(3) не предложат, потому что никто не знает как сделать.
|
|||
5
D_Pavel
13.04.12
✎
08:07
|
Используй таблицу кодов символов для перекодирования:
'А' : 1026, 'Б' : 1027, 'В' : 8218, 'Г' : 1107, 'Д' : 8222, 'Е' : 8230, 'Ё' : 1088, 'Ж' : 8224, 'З' : 8225, 'И' : 8364, 'Й' : 8240, 'К' : 1033, 'Л' : 8249, 'М' : 1034, 'Н' : 1036, 'О' : 1035, 'П' : 1039, 'Р' : 1106, 'С' : 8216, 'Т' : 8217, 'У' : 8220, 'Ф' : 8221, 'Х' : 8226, 'Ц' : 8211, 'Ч' : 8212, 'Ш' : 152, 'Щ' : 8482, 'Ъ' : 1113, 'Ы' : 8250, 'Ь' : 1114, 'Э' : 1116, 'Ю' : 1115, 'Я' : 1119, 'а' : 160, 'б' : 1038, 'в' : 1118, 'г' : 1032, 'д' : 164, 'е' : 1168, 'ё' : 1089, 'ж' : 166, 'з' : 167, 'и' : 1025, 'й' : 169, 'к' : 1028, 'л' : 171, 'м' : 172, 'н' : 173, 'о' : 174, 'п' : 1031, 'р' : 1072, 'с' : 1073, 'т' : 1074, 'у' : 1075, 'ф' : 1076, 'х' : 1077, 'ц' : 1078, 'ч' : 1079, 'ш' : 1080, 'щ' : 1081, 'ъ' : 1082, 'ы' : 1083, 'ь' : 1084, 'э' : 1085, 'ю' : 1086, 'я' : 1087 |
|||
6
Помогите
13.04.12
✎
08:59
|
(5) Спасибо! ! ! Сделал перекодировку, работает!
Закину тебе денег на телефон! var rusAdditional = { 'А' : 1026, 'Б' : 1027, 'В' : 8218, 'Г' : 1107, 'Д' : 8222, 'Е' : 8230, 'Ё' : 1088, 'Ж' : 8224, 'З' : 8225, 'И' : 8364, 'Й' : 8240, 'К' : 1033, 'Л' : 8249, 'М' : 1034, 'Н' : 1036, 'О' : 1035, 'П' : 1039, 'Р' : 1106, 'С' : 8216, 'Т' : 8217, 'У' : 8220, 'Ф' : 8221, 'Х' : 8226, 'Ц' : 8211, 'Ч' : 8212, 'Ш' : 152, 'Щ' : 8482, 'Ъ' : 1113, 'Ы' : 8250, 'Ь' : 1114, 'Э' : 1116, 'Ю' : 1115, 'Я' : 1119, 'а' : 160, 'б' : 1038, 'в' : 1118, 'г' : 1032, 'д' : 164, 'е' : 1168, 'ё' : 1089, 'ж' : 166, 'з' : 167, 'и' : 1025, 'й' : 169, 'к' : 1028, 'л' : 171, 'м' : 172, 'н' : 173, 'о' : 174, 'п' : 1031, 'р' : 1072, 'с' : 1073, 'т' : 1074, 'у' : 1075, 'ф' : 1076, 'х' : 1077, 'ц' : 1078, 'ч' : 1079, 'ш' : 1080, 'щ' : 1081, 'ъ' : 1082, 'ы' : 1083, 'ь' : 1084, 'э' : 1085, 'ю' : 1086, 'я' : 1087 } function Decode(utftext) { var c = c2 = string = ""; var i = 0; while ( i < utftext.length ) { c = utftext.charAt(i); i++; c2 = String.fromCharCode(rusAdditional[c]); if (c2 == ""){c2 = c}; string += c2; //string += "'"+String.fromCharCode(c)+"' : "+ c + "," + '\n'; } return string; } |
|||
7
Asmody
13.04.12
✎
09:09
|
Дос/виндовс… в современных браузерах строки в JavaScript в unicode
|
|||
8
D_Pavel
13.04.12
✎
09:47
|
(7) При чем здесь виндовс?
|
|||
9
D_Pavel
13.04.12
✎
09:49
|
Автору нужно было перекодировать из UTF8 которую использует JavaScript в дос кодировку.
|
|||
10
Torquader
13.04.12
✎
16:13
|
Для работы с COM-портом приходилось делать вставки на VbScript, так как там Asc() и Chr() работают именно с однобайтовыми символами, в отличие от JavaScript.
Так как вы используете объекты, то вам можно "прикруить" объект-посредник на Script Component, который делает перекодировку. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |