Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.10.2015, 04:07
Кандидат Javascript-наук
Отправить личное сообщение для фонарик Посмотреть профиль Найти все сообщения от фонарик
 
Регистрация: 23.02.2013
Сообщений: 127

Конверт HEX в ANSI
Подскажите пожалуйста решение проблемы. Есть строка в 16ричном виде
var string = "5b cf f0 e8 e2 e5 f2 5d"

В ANSI кодировке
5b = [
cf = П
f0 = р
e8 = и
e2 = в
e5 = е
f2 = т
5d = ]

т.е это значение [Привет]. Можно ли как-то средствами Javascript конвертировать HEX поток в ANSI символы?
Ответить с цитированием
  #2 (permalink)  
Старый 09.10.2015, 21:15
Аватар для Опан
Кандидат Javascript-наук
Отправить личное сообщение для Опан Посмотреть профиль Найти все сообщения от Опан
 
Регистрация: 15.03.2013
Сообщений: 100

var string = "5b cf f0 e8 e2 e5 f2 5d";
var mas_in=string.split(" ");
var mas_out=[];
for(i=0;i<mas_in.length;i++){
	mas_out[i]=String.fromCharCode(parseInt(mas_in[i], 16));
}
var out=mas_out.join("");
alert(out);

Правда, у меня браузер почему-то выводит среднеевропейской кодировкой. Если у Вас тоже, будем думать, как бороться.
Ответить с цитированием
  #3 (permalink)  
Старый 09.10.2015, 21:46
Кандидат Javascript-наук
Отправить личное сообщение для фонарик Посмотреть профиль Найти все сообщения от фонарик
 
Регистрация: 23.02.2013
Сообщений: 127

Беда именно в HEX кодировке символов кирилицы Латинский алфавит он из хекса переводит нормально, а кирилицу нет
var string = "5b cf f0 e8 e2 e5 f2 5d";
var mas_in=string.split(" ");
var mas_out=[];
for(i=0;i<mas_in.length;i++){
	mas_out[i]=String.fromCharCode(parseInt(mas_in[i], 16));
}
var out=mas_out.join("");
alert(out);
Ответить с цитированием
  #4 (permalink)  
Старый 09.10.2015, 22:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

фонарик,
функция тут http://javascript.ru/php/bin2hex#comment-16593
hex2bin = function(hex) {               // ASCII hex-> UTF-8 string
  var bin = '';
  for (var i=0; i<hex.length; i=i+2) {
    var c = parseInt(''+hex[i]+hex[i+1], 16);
    if (c>0x7F) c += 0x350;             // ASCII -> UTF-8
    bin += String.fromCharCode(c);
  }
  return bin;
}
var string = "5b cf f0 e8 e2 e5 f2 5d";
alert( hex2bin(string.replace(/\s/g,'')))
Ответить с цитированием
  #5 (permalink)  
Старый 10.10.2015, 01:04
Кандидат Javascript-наук
Отправить личное сообщение для фонарик Посмотреть профиль Найти все сообщения от фонарик
 
Регистрация: 23.02.2013
Сообщений: 127

рони,
поклон вам до земли Я 2 дня по гуглу лазил, так и не нашел.
Ответить с цитированием
  #6 (permalink)  
Старый 11.10.2015, 09:20
Аватар для Опан
Кандидат Javascript-наук
Отправить личное сообщение для Опан Посмотреть профиль Найти все сообщения от Опан
 
Регистрация: 15.03.2013
Сообщений: 100

Я перед этим пробовал просто перекодировать документ в UTF-8 на notepad++, но ничего не менялось.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перевести из RGB в HEX Telnet Общие вопросы Javascript 6 21.06.2019 20:57
перевести байтовую строку в hex Palama Общие вопросы Javascript 0 28.08.2015 17:00
Преобразовать Char в HEX Rik Общие вопросы Javascript 4 14.05.2014 18:00
Когда создадут HEX Viewer на JavaScript ? Solovei95 Общие вопросы Javascript 2 13.08.2011 17:03
не работает скрипт с HEX значениями color DeaDiK Общие вопросы Javascript 2 17.04.2011 15:00