B2T & T2B - BINARY TO TEXT & TEXT TO BINARY

Jednoduché programy pro převod binárního řetězce na textový ASCII řetězec a naopak.

Popis funkce B2T

Na standardním vstupu očekává sekvenci nul a jedniček. Na standardní výstup vypisuje 1 odpovídající ASCII znak pro každých 8 znaků vstupu.

Vstup se zpracovává znak po znaku, délka vstupní zprávy je tedy dána limity standardního vstupu na daném systému.

Příklady:

01100001 --> a
0110000101100010 --> ab

Popis funkce T2B

Na standardním vstupu očekává řetězec ASCII znaků. Na standardní výstup vypisuje 8 binárních zanaků odpovídajících 1 ASCII znaku vstupu. Víceřádkový text lze zadat přesměrováním souboru (Příklad: ./t2b < soubor.txt) (Proto nelze ruční zadávání ukončit klávesou Enter, ale 2xCTRL+Z na Windows (2xCTRL+D na Linuxu)).

Vstup se zpracovává znak po znaku, délka vstupní zprávy je tedy dána limity standardního vstupu na daném systému.

Příklady:

c --> 01100011
cd --> 0110001101100100

Překlad

Cíle pro program Make:

make . . . . . . přeloží vše
make all . . . . stejné jako "make"
make debug . . . přeloží vše s ladicími výstupy
make b2t . . . . přeloží pouze program "binary to text"
make t2b . . . . přeloží pouze program "text to binary"
make clean . . . odstraní spustitelné soubory

Překlad pomocí GCC:

gcc -DNDEBUG b2t.c -o b2t
gcc -DNDEBUG t2b.c -o t2b

Spuštění

  • ./b2t (Linux)

  • ./t2b (Linux)

  • .\b2t.exe (Windows)

  • .\t2b.exe (Windows)

Přehled ASCII znaků a jejich číselných hodnot

| Desítkově | Dvojkově | Znak | Popis (anglicky) | |------------------------------------------------------| | 0 | 0 | NUL | null character | | 1 | 1 | SOH | start of header | | 2 | 10 | STX | start of text | | 3 | 11 | ETX | end of text | | 4 | 100 | EOT | end of transmission | | 5 | 101 | ENQ | enquiry | | 6 | 110 | ACK | acknowledge | | 7 | 111 | BEL | bell (ring) | | 8 | 1000 | BS | backspace | | 9 | 1001 | HT | horizontal tab | | 10 | 1010 | LF | line feed | | 11 | 1011 | VT | vertical tab | | 12 | 1100 | FF | form feed | | 13 | 1101 | CR | carriage return | | 14 | 1110 | SO | shift out | | 15 | 1111 | SI | shift in | | 16 | 10000 | DLE | data link escape | | 17 | 10001 | DC1 | device control 1 | | 18 | 10010 | DC2 | device control 2 | | 19 | 10011 | DC3 | device control 3 | | 20 | 10100 | DC4 | device control 4 | | 21 | 10101 | NAK | negative acknowledge | | 22 | 10110 | SYN | synchronize | | 23 | 10111 | ETB | end transmission block | | 24 | 11000 | CAN | cancel | | 25 | 11001 | EM | end of medium | | 26 | 11010 | SUB | substitute | | 27 | 11011 | ESC | escape | | 28 | 11100 | FS | file separator | | 29 | 11101 | GS | group separator | | 30 | 11110 | RS | record separator | | 31 | 11111 | US | unit separator | | 32 | 100000 | | space | | 33 | 100001 | ! | exclamation mark | | 34 | 100010 | " | quotation mark | | 35 | 100011 | # | number sign | | 36 | 100100 | $ | dollar sign | | 37 | 100101 | % | percent sign | | 38 | 100110 | & | ampersand | | 39 | 100111 | ' | apostrophe | | 40 | 101000 | ( | left parenthesis | | 41 | 101001 | ) | right parenthesis | | 42 | 101010 | * | asterisk | | 43 | 101011 | + | plus sign | | 44 | 101100 | , | comma | | 45 | 101101 | - | hyphen | | 46 | 101110 | . | period | | 47 | 101111 | / | slash | | 48 | 110000 | 0 | digit 0 | | 49 | 110001 | 1 | digit 1 | | 50 | 110010 | 2 | digit 2 | | 51 | 110011 | 3 | digit 3 | | 52 | 110100 | 4 | digit 4 | | 53 | 110101 | 5 | digit 5 | | 54 | 110110 | 6 | digit 6 | | 55 | 110111 | 7 | digit 7 | | 56 | 111000 | 8 | digit 8 | | 57 | 111001 | 9 | digit 9 | | 58 | 111010 | : | colon | | 59 | 111011 | ; | semicolon | | 60 | 111100 | < | less than | | 61 | 111101 | = | equals to | | 62 | 111110 | > | greater than | | 63 | 111111 | ? | question mark | | 64 | 1000000 | @ | at sign | | 65 | 1000001 | A | uppercase A | | 66 | 1000010 | B | uppercase B | | 67 | 1000011 | C | uppercase C | | 68 | 1000100 | D | uppercase D | | 69 | 1000101 | E | uppercase E | | 70 | 1000110 | F | uppercase F | | 71 | 1000111 | G | uppercase G | | 72 | 1001000 | H | uppercase H | | 73 | 1001001 | I | uppercase I | | 74 | 1001010 | J | uppercase J | | 75 | 1001011 | K | uppercase K | | 76 | 1001100 | L | uppercase L | | 77 | 1001101 | M | uppercase M | | 78 | 1001110 | N | uppercase N | | 79 | 1001111 | O | uppercase O | | 80 | 1010000 | P | uppercase P | | 81 | 1010001 | Q | uppercase Q | | 82 | 1010010 | R | uppercase R | | 83 | 1010011 | S | uppercase S | | 84 | 1010100 | T | uppercase T | | 85 | 1010101 | U | uppercase U | | 86 | 1010110 | V | uppercase V | | 87 | 1010111 | W | uppercase W | | 88 | 1011000 | X | uppercase X | | 89 | 1011001 | Y | uppercase Y | | 90 | 1011010 | Z | uppercase Z | | 91 | 1011011 | [ | left square bracket | | 92 | 1011100 | \ | backslash | | 93 | 1011101 | ] | right square bracket | | 94 | 1011110 | ^ | caret sign | | 95 | 1011111 | _ | underscore | | 96 | 1100000 | ` | backtick | | 97 | 1100001 | a | lowercase a | | 98 | 1100010 | b | lowercase b | | 99 | 1100011 | c | lowercase c | | 100 | 1100100 | d | lowercase d | | 101 | 1100101 | e | lowercase e | | 102 | 1100110 | f | lowercase f | | 103 | 1100111 | g | lowercase g | | 104 | 1101000 | h | lowercase h | | 105 | 1101001 | i | lowercase i | | 106 | 1101010 | j | lowercase j | | 107 | 1101011 | k | lowercase k | | 108 | 1101100 | l | lowercase l | | 109 | 1101101 | m | lowercase m | | 110 | 1101110 | n | lowercase n | | 111 | 1101111 | o | lowercase o | | 112 | 1110000 | p | lowercase p | | 113 | 1110001 | q | lowercase q | | 114 | 1110010 | r | lowercase r | | 115 | 1110011 | s | lowercase s | | 116 | 1110100 | t | lowercase t | | 117 | 1110101 | u | lowercase u | | 118 | 1110110 | v | lowercase v | | 119 | 1110111 | w | lowercase w | | 120 | 1111000 | x | lowercase x | | 121 | 1111001 | y | lowercase y | | 122 | 1111010 | z | lowercase z | | 123 | 1111011 | { | left curly brace | | 124 | 1111100 | | | vertical bar | | 125 | 1111101 | } | right curly brace | | 126 | 1111110 | ~ | tilde | | 127 | 1111111 | DEL | delete (rubout) |

S
Description
Programy pro převod mezi ASCII znaky a jejich binární reprezentací.
Readme 114 KiB
Languages
C 93.7%
Makefile 6.3%