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