The OpenNET Project / Index page

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

Перекодирование из 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:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру