Как преобразовать необработанный шестнадцатеричный символ [] в строку ascii - PullRequest
1 голос
/ 22 января 2020

Я модифицирую существующий код, который отправляет и получает данные через USB. Данные вводятся в текстовое поле в формате ascii, преобразуются в необработанные данные ie '1' = 01h и затем отправляются в обработчик USB.

У меня есть следующий код для преобразования из строки в шестнадцатеричный код:

    String^ TestString = TxDataTB->Text;

    //Prepare a USB OUT data packet to send to the device firmware

    //convert to a byte array
    Encoding^ ascii = Encoding::GetEncoding("iso-8859-1");
    array<Byte>^ TxHexData = ascii->GetBytes(TestString);
    cli::pin_ptr<UCHAR> pin_ptr_n = &TxHexData[0];
    UCHAR* ptr_n = pin_ptr_n;

    //Now send the USB packet data in the OUTBuffer[] to the device firmware.
    USBHandler->SendData(ptr_n, Msglength, PipeNo);

Это, кажется, делает работу хорошо, я проверил это с точкой останова (пока нет аппаратного обеспечения!). Я изо всех сил пытаюсь найти метод для преобразования полученных данных в строку ^ - getBytes, кажется, работает только с данными, которые уже находятся в закодированном формате; Кажется, что преобразование работает только с массивом ^, и я даже не могу найти способ преобразовать char [] в массив ^ Отправка данных в формате ascii в этом приложении невозможна

...