Конверт 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 символы? |
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); Правда, у меня браузер почему-то выводит среднеевропейской кодировкой. Если у Вас тоже, будем думать, как бороться. |
Беда именно в 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); |
фонарик,
функция тут 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,''))) |
рони,
поклон вам до земли :) Я 2 дня по гуглу лазил, так и не нашел. |
Я перед этим пробовал просто перекодировать документ в UTF-8 на notepad++, но ничего не менялось.
|
Часовой пояс GMT +3, время: 21:02. |