The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Перекодирование из koi8-r и windows-1251 в unicode на JavaScript
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;
}
 
08.11.2005
Ключи: utf8, unicode, javascript, java, koi8-r / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / Web-технологии / JavaScript

Обсуждение [ RSS ]
 
  • 1, ded, 20:16, 09/11/2005 [ответить] [смотреть все]
  • +/
    Причем тут opennet - не ясно :)
    За код - респект.
     
  • 2, login, 21:45, 10/11/2005 [ответить] [смотреть все]
  • +/
    А в мозилле проще
    function koi2utf(str){
         var UC  = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
    UC.charset="koi8-r"
         return UC.ConvertToUnicode(str);

    }

     
  • 3, Mike, 11:00, 13/07/2007 [ответить] [смотреть все]
  • +/
    Хороший КОД!
    Без него бы не справился с Иллюстратором.
    В скриптах буквы русские никак не хотел понимать.
    Огромное Спасибо!

     
  • 4, Аноним, 18:09, 10/08/2007 [ответить] [смотреть все]
  • +/
    только мапа koi2utf кажется не полная...
     
  • 5, lirien, 10:12, 27/02/2008 [ответить] [смотреть все]
  • +/
    Спасибо за код,
    возможно есть готовая функция
    чтобы из utf-8 в win1251 перекодировать?
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor