Stream Binary File (чтение Файла)

Тема в разделе "Lotus - Xpages", создана пользователем KingGLEB, 4 мар 2014.

  1. KingGLEB

    KingGLEB Active Member

    Регистрация:
    8 май 2008
    Сообщения:
    30
    Симпатии:
    0
    Добрый день.

    Задача следующая: есть файл, в нем 7 байт. Надо с помощью ssjs разобрать эти байты и преобразовать каждый из них в шестнадцатеричные или десятичные.

    Файл находится на сервере ('C:\a.bin'):
    D3 02 40 8D C9 16 00

    Вот что у меня получилось:
    var stream:NotesStream = session.createStream();
    stream.open("C:\a.bin");
    var logRec:Array = stream.read(7); // Считываем 7 байт
    print(logRec); // Результат: -45,2,64,-115,-55,22,0

    Вопрос: а почему числа отрицательные? Почему первый байт это -45, а не 211 (D3), например? Как мне из -45 получить нормальное десятичное 211? Поясните плиз. Спасибо.

    PS: чувствую, что с возрастом начинаю тупеть. :RTFM:
     
  2. KingGLEB

    KingGLEB Active Member

    Регистрация:
    8 май 2008
    Сообщения:
    30
    Симпатии:
    0
    Вопрос снимается. Нашел ответ.

    var stream:NotesStream = session.createStream();
    stream.open("C:\a.bin");
    var logRec:Array = stream.read(7); // Считываем 7 байт
    print(logRec); // Результат: -45,2,64,-115,-55,22,0

    print(("0x" + (0xFFFFFFFF + logRec[0] + 1).toString(16).toUpperCase()).right(2)); // Результат: D3
    print(("0x" + (0xFFFFFFFF + logRec[1] + 1).toString(16).toUpperCase()).right(2)); // Результат: 02
    print(("0x" + (0xFFFFFFFF + logRec[2] + 1).toString(16).toUpperCase()).right(2)); // Результат: 40
    print(("0x" + (0xFFFFFFFF + logRec[3] + 1).toString(16).toUpperCase()).right(2)); // Результат: 8D
    print(("0x" + (0xFFFFFFFF + logRec[4] + 1).toString(16).toUpperCase()).right(2)); // Результат: C9
    print(("0x" + (0xFFFFFFFF + logRec[5] + 1).toString(16).toUpperCase()).right(2)); // Результат: 16
    print(("0x" + (0xFFFFFFFF + logRec[6] + 1).toString(16).toUpperCase()).right(2)); // Результат: 00
     
Загрузка...
Похожие Темы - Stream Binary File
  1. dimat
    Ответов:
    46
    Просмотров:
    3.680
  2. rinsk
    Ответов:
    5
    Просмотров:
    683
  3. Morrison
    Ответов:
    14
    Просмотров:
    2.573
  4. Nodit
    Ответов:
    1
    Просмотров:
    1.421
  5. Serduko
    Ответов:
    5
    Просмотров:
    1.685

Поделиться этой страницей