URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 12686
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Перекодирование из koi8-r и windows-1251 в unicode на JavaScript"

Отправлено auto_tips , 09-Ноя-05 20:16 
var koi2utf={
163:1105,
179:1025,
192:1102,
193:1072,
194:1073,
195:1094,
196:1076,
197:1077,
198:1092,
199:1075,
200:1093,
201:1080,
202:1081,
203:1082,
204:1083,
205:1084,
206:1085,
207:1086,
208:1087,
209:1103,
210:1088,
211:1089,
212:1090,
213:1091,
214:1078,
215:1074,
216:1100,
217:1099,
218:1079,
219:1096,
220:1101,
221:1097,
222:1095,
223:1098
};

  function koi2unicode (str){
     if (str == null){ return null;}
     var result = "";
     var o_code = "";
     var i_code = "";
     for (var I=0; I < str.length; I++){
        i_code = str.charCodeAt(I);
                                  
        if (koi2utf[i_code] != null){
            o_code = koi2utf[i_code];
        } else if (i_code > 223 && koi2utf[i_code-32] != null){
            o_code = koi2utf[i_code-32]-32;
        } else {
            o_code = i_code;
        }
        result = result + String.fromCharCode(o_code);
     }

     return result;
  }

function win2unicode (str){
     if (str == null){ return null;}
     var result = "";
     var o_code = "";
     var i_code = "";
     for (var I=0; I < str.length; I++){
        i_code = str.charCodeAt(I);

        if (i_code == 184){
            o_code = 1105;
        } else if (i_code == 168){
            o_code = 1025;
        } else if (i_code > 191 && i_code < 256){
            o_code = i_code + 848;
        } else {
            o_code = i_code;
        }
        result = result + String.fromCharCode(o_code);
     }                                                
      
     return result;
}

URL:
Обсуждается: http://www.opennet.ru/tips/info/915.shtml


Содержание

Сообщения в этом обсуждении
"Перекодирование из koi8-r и windows-1251 в unicode на JavaScript"
Отправлено ded , 09-Ноя-05 20:16 
Причем тут opennet - не ясно :)
За код - респект.

"Перекодирование из koi8-r и windows-1251 в unicode на JavaScript"
Отправлено login , 10-Ноя-05 21:45 
А в мозилле проще
function koi2utf(str){
        var UC  = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
    UC.charset="koi8-r"
        return UC.ConvertToUnicode(str);

}


"Перекодирование из koi8-r и windows-1251 в unicode на JavaScript"
Отправлено Mike , 13-Июл-07 11:00 
Хороший КОД!
Без него бы не справился с Иллюстратором.
В скриптах буквы русские никак не хотел понимать.
Огромное Спасибо!


"Перекодирование из koi8-r и windows-1251 в unicode на JavaScript"
Отправлено Аноним , 10-Авг-07 18:09 
только мапа koi2utf кажется не полная...

"Перекодирование из koi8-r и windows-1251 в unicode на JavaScript"
Отправлено lirien , 27-Фев-08 10:12 
Спасибо за код,
возможно есть готовая функция
чтобы из utf-8 в win1251 перекодировать?