Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Ю_рий от 07 Июня 2008, 21:57:57

Название: JScript: прочитать файл в бинарном виде
Отправлено: Ю_рий от 07 Июня 2008, 21:57:57
Мне нужно прочитать файл в бинарном виде. Я пытался это сделать так:




Этот скрипт правильно работает, только не для любого кода байта. Вот, что нашёл на эту тему в интернете:
==============================================
результат будет правильным, только если значение этого байта не превосходит 0x7f - JScript работает со строками в юникоде и функций для определения ASCII-кода символа в нём нет.
Но если то же самое сделать на VBScript:

Byte=Asc(f.Read(1))

то всё работает правильно (правда, если перед этим не было вызовов SetLocale).
Т.е. можно на VBScript написать функцию ReadByte() и затем вызывать её из JScript-сценария:


==============================================
К сожалению, я не знаком с VBscript, поэтому сам не разберусь. Нужно прочитать файл в бинарном виде и передать результаты чтения для дальнейшей обработки в переменную в Javascript

Подскажите, пожалуйста, как это можно сделать.

И вот, ещё нашёл:
==============================================
Наверно можно обойтись и одним JScript\'ом, если открывать файл как юникодовский и потом отрезать лишний байт. Вот это вроде бы работает.

path="C:\\\\test\\\\test.dbf";  // Путь к файлу.
n=12;                       // Номер байта (считая с нуля).

fso=new ActiveXObject("Scripting.FileSystemObject");
with (fso.OpenTextFile(path, 1, false, true))
  Skip(n>>>1), text=Read(1), Close();

byte=(text.charCodeAt(0) & 0xff<<8*(n&1)) >>> 8*(n&1);

WScript.Echo(byte);
-----------------------------
Для вывода результата в 16-ричном виде заменил последнюю строку на
WScript.Echo(byte.toString(0x10).toUpperCase());
==============================================
P.S. Это работает тоже не совсем так, но здесь дана идея открывать файл как юникодовский и отрезать байт.
Название: JScript: прочитать файл в бинарном виде
Отправлено: hanslinger от 08 Июня 2008, 14:03:28
А непременно вот эту фигню надо делать на Javascript?
Название: JScript: прочитать файл в бинарном виде
Отправлено: Ю_рий от 08 Июня 2008, 16:54:34
можно делать на чём угодно, лишь бы работало на странице html, на локальном компьютере
Название: JScript: прочитать файл в бинарном виде
Отправлено: ravshaniy от 09 Июня 2008, 10:52:16
а как на счет того чтобы просто написать новый вирус или троян? зачем такие выдумки со скриптом?

если ваши цели не вредоностны и не корыстны, объясните тогда:

1) бинарник - что за тип данных. Видео, графика, что еще??

пока больше вопросов нет
Название: JScript: прочитать файл в бинарном виде
Отправлено: CGVictor от 09 Июня 2008, 11:46:38
Ю_рий
Теоретически, есть способы работы типа такого: http://blog.nihilogic.dk/2008/05/compression-using-canvas-and-png.html

Вот только обращение к локальным файлам все равно зарежется. Имейте в виду.