ASCII в Bin или HEX

Тема в разделе "Флудилка", создана пользователем Salk, 23 авг 2018.

  1. Salk

    Salk Гик

    Добрый день, получилось так, что код прошивки имеется только в виде 0 и 1 в текстовом формате.
    Вроде этого:
    upload_2018-8-23_18-35-33.png
    А необходимо его перевести в расширение .HEX или сразу в .BIN, чтобы залить во флеш память МК, с помощью специальной утилиты. Она понимает только HEX или BIN форматы.
    Прошу помощи, весь мозг съел. Из данного примера, если переводить в формат HEX, из 00001111 должно получится 0x0F (0F), и в таком виде отправится во флеш.
    Когда пытаюсь использовать конверторы типа "TXT in HEX", то получается - "30 30 30 30 31 31 31 31" по таблице ACSII, что в корне не верно.
     
  2. DetSimen

    DetSimen Guest

    Исесенна
     
  3. AlexU

    AlexU Гуру

    Ну так сам напиши простенький конвертер на том же Python или на чём больше нравиться... Работы то на пол-часа, дольше конвертер искать будешь.
     
    arkadyf, Igor68 и Mitrandir нравится это.
  4. Salk

    Salk Гик

    Но увы, не питон, ни шарп я не знаю, а времени на разбирание просто пока нет...
     
  5. DetSimen

    DetSimen Guest

    А у нас - есть?
     
  6. DIYMan

    DIYMan Guest

    У нас - просто обязано быть, ну как же - ведь кроме ТС - ни у кого никаких дел больше нет :)
     
  7. Salk

    Salk Гик

    Я был бы рад просто совету, или названию готового конвертора, а вовсе не прошу писать программульку в свое личное от форумочтение время :).
    Совет получил, за это спасибо! Пойдем опрашивать знакомых программистов "си - шарпочечников".
     
  8. Mitrandir

    Mitrandir Гуру

    java подойдет?

    Код (Java):
    package com.company;

    import java.io.*;

    public class Main {

        public static void main(String[] args) throws IOException {
        // write your code here
            System.out.print("input filename:");
            InputStreamReader cs =  new InputStreamReader(System.in);
            BufferedReader cr = new BufferedReader(cs);
            String fname = cr.readLine();
            System.out.print("output filename:");
            String oname = cr.readLine();

            FileInputStream fis = new FileInputStream(fname);
            BufferedReader fr = new BufferedReader(new InputStreamReader(fis));
            FileOutputStream fos = new FileOutputStream(oname);
            String line;
            while ((line = fr.readLine())!=null){
                System.out.print(".");
                int num = 0;
                int j=7;
                for(int i=0;i<8;i++){
                    int b = Integer.parseInt(""+line.charAt(i));
                    num = num | (b << j);
                    j--;
                }
                fos.write(num);
            }
            fis.close();
            fos.close();
            System.out.println();
            System.out.println("done");


        }
    }
     
     

    Вложения:

    Salk нравится это.