Автор Тема: JScript: прочитать файл в бинарном виде  (Прочитано 5538 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ю_рий

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Мне нужно прочитать файл в бинарном виде. Я пытался это сделать так:




Этот скрипт правильно работает, только не для любого кода байта. Вот, что нашёл на эту тему в интернете:
==============================================
результат будет правильным, только если значение этого байта не превосходит 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. Это работает тоже не совсем так, но здесь дана идея открывать файл как юникодовский и отрезать байт.

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
JScript: прочитать файл в бинарном виде
« Ответ #1 : 08 Июня 2008, 14:03:28 »
А непременно вот эту фигню надо делать на Javascript?

Оффлайн Ю_рий

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JScript: прочитать файл в бинарном виде
« Ответ #2 : 08 Июня 2008, 16:54:34 »
можно делать на чём угодно, лишь бы работало на странице html, на локальном компьютере

Оффлайн ravshaniy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 191
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JScript: прочитать файл в бинарном виде
« Ответ #3 : 09 Июня 2008, 10:52:16 »
а как на счет того чтобы просто написать новый вирус или троян? зачем такие выдумки со скриптом?

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

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

пока больше вопросов нет
убили кенни, сволочи

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
JScript: прочитать файл в бинарном виде
« Ответ #4 : 09 Июня 2008, 11:46:38 »
Ю_рий
Теоретически, есть способы работы типа такого: http://blog.nihilogic.dk/2008/05/compression-using-canvas-and-png.html

Вот только обращение к локальным файлам все равно зарежется. Имейте в виду.
LJ: Backslashed life (rss)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28