Двоичное декодирование [дубликат]

Вы можете просто сделать это с помощьюawk:

awk 'NR==1,NR==4 {print $1,$2,$3,$6,$7}' group1 > group1.data

Это просто напечатает поля 1, 2, 3, 6 и 7 первых четырех строк и даст запрошенный вывод и добавит его в файл group1.data:

#CHROM POS P0431 P434 P435
Chr01 180349 G N G
Chr01 180372 N N A
Chr01 180389 A N N

Если вы хотите, чтобы он выглядел чище, вы можете использовать OFS='\t', чтобы установить разделитель в виде табуляции:

awk 'NR==1,NR==4 {print $1,$2,$3,$4,$5}' OFS='\t' group1 > group1.data

Выход:

#CHROM  POS     P0431   P434    P435
Chr01   180349  G       N       G
Chr01   180372  N       N       A
Chr01   180389  A       N       N

Я тестировал это с разделителями, состоящими из нескольких пробелов, табуляций и их комбинаций, и каждый раз получал эти выходные данные.

-4
07.05.2021, 14:31
1 ответ

Вы не добавили ни одного тега ни одного языка программирования. Я добавляю исходный код Python и Java.

Питон:

binary = '001000100100010001101111001000000110111101101110011001010010000001110100011010000110100101101110011001110010000001110100011010000110000101110100001000000111001101100011011000010111001001100101011100110010000001111001011011110111010100100000011001010111011001100101011100100111100100100000011001000110000101111001001000100010000000101101001000000100010101101100011001010110000101101110011011110111001000100000010100100110111101101111011100110110010101110110011001010110110001110100'
binary_values = binary.split()

ascii_string = ""
for binary_value in binary_values:
    an_integer = int(binary_value, 2)

    ascii_character = chr(an_integer)

    ascii_string += ascii_character

print(ascii_string)

Я думаю, что это не двоичный код, который вы написали в вопросе. Хотя я добавил.

Ява:

public void binaryToText(String binaryString) {
        try {
            StringBuilder stringBuilder = new StringBuilder();
            int charCode = 0;
            // Split the string
            String[] parts = binaryString.split(" ");
            // Consider each part on its own
            for (String part : parts) {
                charCode = Integer.parseInt(part, 2);
                String returnChar = Character.toString((char) charCode);
                stringBuilder.append(returnChar);
            }
//        System.out.println("Text : "+stringBuilder.toString());
            txtText.setText(stringBuilder.toString());
        }catch (Exception e){
            e.printStackTrace();
        }
    }

Вот репозиторий git кода Java и кода Python

Перл:

echo 0100000101000010 | perl -lpe '$_=pack"B*",$_'

Вот ответperl

-1
28.07.2021, 11:34

Теги

Похожие вопросы