Как преобразовать байтовый массив (без старших байтов) в строку? - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте ! Подскажите, пожалуйста, допустим я создаю файл .txt (кодировка Win-1251) с текстом "Test" и добавляю его к проекту в виде ресурса. Затем я извлекаю данные из ресурса в виде байтового массива. Но такой массив будет без старшего байта. А значит простой byte() = string не вернет исходный текст:
Листинг программы
  1. Dim src As String
  2. Dim b() As Byte
  3. src = LoadResData(101, "CUSTOM")
  4. b() = src
Записывать в 2х раза больший объем инфы в файл ресурса не хочется. Перебирать каждый байт циклом с конкатенацией в строку тоже как-то не ахти выглядит. Может, я неверно себе представляю сам процесс. Где можно почитать, как вообще формируется старший байт и что это такое ? Вот такие данные я получил перебором байтов от 0 до 255.
Листинг программы
  1. Sub Excel()
  2. Dim b() As Byte, t As String
  3. For i = 0 To 255
  4. b = Chr(i)
  5. Cells(i + 1, 1) = i
  6. Cells(i + 1, 2) = b(0)
  7. Cells(i + 1, 3) = b(1)
  8. t = t & i & "|" & b(0) & "|" & b(1) & vbCrLf
  9. [A257] = t
  10. Next
  11. End Sub

Решение задачи: «Как преобразовать байтовый массив (без старших байтов) в строку?»

textual
Листинг программы
  1. Dim dat()   As Byte
  2. Dim result  As String
  3.  
  4. dat = LoadResData(101, "CUSTOM")
  5. result = StrConv(dat, vbUnicode)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы