1

Тема: JScript: Функция преобразования в UTF-8

Как бы баян, но на JScript чего-то не попадалось такого. Выложу до кучи, вдруг кто чего дополнит.

/** Возвращает текст sText преобразованный из кодировки srcCharset (по ум. windows-1251) в UTF-8
 * Обязателен только 1-й параметр 
 */
function sToUTF8(sText, bWithBOM, srcCharset) {
  if (!srcCharset) srcCharset = "windows-1251"; //Для ADODB.Stream default - Unicode. Еще можно KOI8-R, cp866
  with (new ActiveXObject("ADODB.Stream")) { //http://www.w3schools.com/ado/ado_ref_stream.asp
    type = 2; //Binary 1, Text 2 (default) 
    mode = 3; //Permissions have not been set 0,  Read-only 1,  Write-only 2,  Read-write 3,  
    //Prevent other read 4,  Prevent other write 8,  Prevent other open 12,  Allow others all 16
    charset = "utf-8";
    open();
    writeText(sText);
    position = 0;
    charset = srcCharset;
    var nPos = bWithBOM ? 0 : 3;
    return readText().substr(nPos);
  }
}

2

Re: JScript: Функция преобразования в UTF-8

2 jite: А чего не в коллекцию сразу ?
http://forum.script-coding.com/viewtopic.php?id=997
Вполне актуально вроде бы ?

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

3

Re: JScript: Функция преобразования в UTF-8

Туда - после предварительного рассмотрения здесь.

4

Re: JScript: Функция преобразования в UTF-8

Лучше алгоритм распознавания кодировки частей текста написать:) - это может пригодиться при изучении протокола аськи да и других вещей.

5

Re: JScript: Функция преобразования в UTF-8

JSman пишет:

Лучше алгоритм распознавания кодировки частей текста написать:) - это может пригодиться при изучении протокола аськи да и других вещей.

Поддерживаю.
Вещь актуальная и очень нужная - добавлю получение писем в непонятной кодировке, "да и другие вещи".

Было бы удобно: скопировал текст "с кракозяблами" в буфер, запустил скрипт, на выходе читабельное содержимое.
В качестве аналога приведу давно известную прогу "Штирлиц".

6

Re: JScript: Функция преобразования в UTF-8

Slav, может брать каждую пару байт и проверять их на вхождение в алфавит? То есть берем пару байт, рассматриваем их в качестве UTF8, если входит в «алфавит», то переходим к следующей паре. Если нет, то проверяем на однобайтовые кодировки.

7

Re: JScript: Функция преобразования в UTF-8

Если по функции вопросов нет, тогда давайте откроем тему по распознаванию кодировки.