• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

cargo-crates/H03-May-2022-772,476620,459

images/H03-May-2022-

pipelines/H29-Nov-2020-13481

src/H29-Nov-2020-742560

tests/H29-Nov-2020-7948

.gitattributesH A D29-Nov-202012 21

.gitignoreH A D29-Nov-20209 21

Cargo.lockH A D29-Nov-202018 KiB721640

Cargo.tomlH A D29-Nov-20201.2 KiB5445

README.mdH A D29-Nov-20204.5 KiB9057

README.registry.mdH A D29-Nov-20204.5 KiB9057

RELEASES.mdH A D29-Nov-20202.4 KiB6033

bitbucket-pipelines.ymlH A D29-Nov-2020741 3430

README.md

1xd
2==
3
4
5[![crates.io page](https://img.shields.io/crates/v/xd)](https://crates.io/crates/xd)
6[![Bitbucket Pipelines status](https://img.shields.io/bitbucket/pipelines/delan/xd/default)](https://bitbucket.org/delan/xd/addon/pipelines/home#!/results/branch/default/page/1)
7
8
9- [Release notes](https://bitbucket.org/delan/xd/src/default/RELEASES.md)
10
11
12xd(1) is a tool that dumps binary input in a variety of formats.
13
14
15    > rustup default 1.46.0
16    > cargo install xd
17    > xd --example
18    00 01 02 03  04 05 06 07  08 09 0A 0B  0C 0D 0E 0F  ␀☺☻♥♦♣♠•◘○◙♂♀♪♫☼  0
19    10 11 12 13  14 15 16 17  18 19 1A 1B  1C 1D 1E 1F  ►◄↕‼¶§▬↨↑↓→←∟↔▲▼  10
20    20 21 22 23  24 25 26 27  28 29 2A 2B  2C 2D 2E 2F   !"#$%&'()*+,-./  20
21    30 31 32 33  34 35 36 37  38 39 3A 3B  3C 3D 3E 3F  0123456789:;<=>?  30
22    40 41 42 43  44 45 46 47  48 49 4A 4B  4C 4D 4E 4F  @ABCDEFGHIJKLMNO  40
23    50 51 52 53  54 55 56 57  58 59 5A 5B  5C 5D 5E 5F  PQRSTUVWXYZ[\]^_  50
24    60 61 62 63  64 65 66 67  68 69 6A 6B  6C 6D 6E 6F  `abcdefghijklmno  60
25    70 71 72 73  74 75 76 77  78 79 7A 7B  7C 7D 7E 7F  pqrstuvwxyz{|}~⌂  70
26    80 81 82 83  84 85 86 87  88 89 8A 8B  8C 8D 8E 8F  ÇüéâäàåçêëèïîìÄÅ  80
27    90 91 92 93  94 95 96 97  98 99 9A 9B  9C 9D 9E 9F  ÉæÆôöòûùÿÖÜ¢£¥₧ƒ  90
28    A0 A1 A2 A3  A4 A5 A6 A7  A8 A9 AA AB  AC AD AE AF  áíóúñѪº¿⌐¬½¼¡«»  A0
29    B0 B1 B2 B3  B4 B5 B6 B7  B8 B9 BA BB  BC BD BE BF  ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐  B0
30    C0 C1 C2 C3  C4 C5 C6 C7  C8 C9 CA CB  CC CD CE CF  └┴┬├─┼╞╟╚╔╩╦╠═╬╧  C0
31    D0 D1 D2 D3  D4 D5 D6 D7  D8 D9 DA DB  DC DD DE DF  ╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀  D0
32    E0 E1 E2 E3  E4 E5 E6 E7  E8 E9 EA EB  EC ED EE EF  αßΓπΣσµτΦΘΩδ∞φε∩  E0
33    F0 F1 F2 F3  F4 F5 F6 F7  F8 F9 FA FB  FC FD FE FF  ≡±≥≤⌠⌡÷≈°∙·√ⁿ²■   F0
34
35
36The default format describes up to 16 octets on each line, in both hexadecimal and text, with the text column in one of the following character sets:
37
38
39- **--table default** — a tweaked code page 437, like on an old IBM PC. This encoding provides a unique glyph for each octet, making it reversible, and almost all of those glyphs are visually distinct, which is helpful when visualising patterns in binary data that transcends printable ASCII.
40- **--table classic** — printable ASCII bytes shown as exactly that, and everything else as a dot, just like conventional hex-dumping tools.
41- **--table reverse** — printable ASCII bytes plus control pictures at 00h (␀) through 1Fh (␟) and 7Fh (␡), then the same glyphs in reverse video for 80h through FFh.
42
43
44![screenshot for --table](images/tables.png)
45
46
47## Features
48
49
50- ☑ can be consumed as a library in `#[no_std]`
51- ☑ uses [pledge(2)] + [unveil(2)] on OpenBSD
52- ☑ tweaked-437 + classic + reverse-video character sets
53- ☑ fixed format (16×{:02X} 16×{glyph} {address})
54- ☐ custom formats
55- ☐ compatibility with od(1)
56- ☐ compatibility with hexdump(1)/hd(1)
57- ☐ compatibility with xxd(1)
58
59
60[pledge(2)]: https://man.openbsd.org/OpenBSD-6.3/pledge.2
61[unveil(2)]: https://man.openbsd.org/OpenBSD-6.4/unveil.2
62
63
64## Requirements
65
66
67- Rust 1.46+ (tested with 1.46.0)
68- Should work on any platform including:
69    - Linux
70    - Windows 1511+
71    - OpenBSD 6.4+
72
73
74### Windows notes
75
76
77xd(1) currently requires [ENABLE_VIRTUAL_TERMINAL_PROCESSING](https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences), which was introduced on or near Windows build 10586.
78This includes most versions of Windows 10 (1511+), or any version of Windows Server 2016 (1607+) or newer.
79
80
81If you pipe or redirect output before it reaches the console, try **--table classic** for ASCII only, or set your code page to UTF-8.
82To enable UTF-8 on Windows version 1809 or newer, run **intl.cpl**, click **Administrative**, click **Change system locale**, then check **Use Unicode UTF-8 for worldwide language support**.
83If you use an older version of Windows, try [one of these methods](https://superuser.com/q/269818).
84Note that all of the methods for enabling UTF-8 have been known to cause *some* software in the wild to misbehave.
85
86
87For best results in conhost, don’t use Raster Fonts.
88The other fonts offered by default work fairly well, with the exception of control pictures like ␀, because conhost doesn’t yet support font fallback.
89For the same reason, your mileage may vary with a custom font.
90

README.registry.md

1xd
2==
3
4
5[![crates.io page](https://img.shields.io/crates/v/xd)](https://crates.io/crates/xd)
6[![Bitbucket Pipelines status](https://img.shields.io/bitbucket/pipelines/delan/xd/default)](https://bitbucket.org/delan/xd/addon/pipelines/home#!/results/branch/default/page/1)
7
8
9- [Release notes](https://bitbucket.org/delan/xd/src/default/RELEASES.md)
10
11
12xd(1) is a tool that dumps binary input in a variety of formats.
13
14
15    > rustup default 1.46.0
16    > cargo install xd
17    > xd --example
18    00 01 02 03  04 05 06 07  08 09 0A 0B  0C 0D 0E 0F  ␀☺☻♥♦♣♠•◘○◙♂♀♪♫☼  0
19    10 11 12 13  14 15 16 17  18 19 1A 1B  1C 1D 1E 1F  ►◄↕‼¶§▬↨↑↓→←∟↔▲▼  10
20    20 21 22 23  24 25 26 27  28 29 2A 2B  2C 2D 2E 2F   !"#$%&'()*+,-./  20
21    30 31 32 33  34 35 36 37  38 39 3A 3B  3C 3D 3E 3F  0123456789:;<=>?  30
22    40 41 42 43  44 45 46 47  48 49 4A 4B  4C 4D 4E 4F  @ABCDEFGHIJKLMNO  40
23    50 51 52 53  54 55 56 57  58 59 5A 5B  5C 5D 5E 5F  PQRSTUVWXYZ[\]^_  50
24    60 61 62 63  64 65 66 67  68 69 6A 6B  6C 6D 6E 6F  `abcdefghijklmno  60
25    70 71 72 73  74 75 76 77  78 79 7A 7B  7C 7D 7E 7F  pqrstuvwxyz{|}~⌂  70
26    80 81 82 83  84 85 86 87  88 89 8A 8B  8C 8D 8E 8F  ÇüéâäàåçêëèïîìÄÅ  80
27    90 91 92 93  94 95 96 97  98 99 9A 9B  9C 9D 9E 9F  ÉæÆôöòûùÿÖÜ¢£¥₧ƒ  90
28    A0 A1 A2 A3  A4 A5 A6 A7  A8 A9 AA AB  AC AD AE AF  áíóúñѪº¿⌐¬½¼¡«»  A0
29    B0 B1 B2 B3  B4 B5 B6 B7  B8 B9 BA BB  BC BD BE BF  ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐  B0
30    C0 C1 C2 C3  C4 C5 C6 C7  C8 C9 CA CB  CC CD CE CF  └┴┬├─┼╞╟╚╔╩╦╠═╬╧  C0
31    D0 D1 D2 D3  D4 D5 D6 D7  D8 D9 DA DB  DC DD DE DF  ╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀  D0
32    E0 E1 E2 E3  E4 E5 E6 E7  E8 E9 EA EB  EC ED EE EF  αßΓπΣσµτΦΘΩδ∞φε∩  E0
33    F0 F1 F2 F3  F4 F5 F6 F7  F8 F9 FA FB  FC FD FE FF  ≡±≥≤⌠⌡÷≈°∙·√ⁿ²■   F0
34
35
36The default format describes up to 16 octets on each line, in both hexadecimal and text, with the text column in one of the following character sets:
37
38
39- **--table default** — a tweaked code page 437, like on an old IBM PC. This encoding provides a unique glyph for each octet, making it reversible, and almost all of those glyphs are visually distinct, which is helpful when visualising patterns in binary data that transcends printable ASCII.
40- **--table classic** — printable ASCII bytes shown as exactly that, and everything else as a dot, just like conventional hex-dumping tools.
41- **--table reverse** — printable ASCII bytes plus control pictures at 00h (␀) through 1Fh (␟) and 7Fh (␡), then the same glyphs in reverse video for 80h through FFh.
42
43
44![screenshot for --table](https://bitbucket.org/delan/xd/raw/0.0.4/images/tables.png)
45
46
47## Features
48
49
50- ☑ can be consumed as a library in `#[no_std]`
51- ☑ uses [pledge(2)] + [unveil(2)] on OpenBSD
52- ☑ tweaked-437 + classic + reverse-video character sets
53- ☑ fixed format (16×{:02X} 16×{glyph} {address})
54- ☐ custom formats
55- ☐ compatibility with od(1)
56- ☐ compatibility with hexdump(1)/hd(1)
57- ☐ compatibility with xxd(1)
58
59
60[pledge(2)]: https://man.openbsd.org/OpenBSD-6.3/pledge.2
61[unveil(2)]: https://man.openbsd.org/OpenBSD-6.4/unveil.2
62
63
64## Requirements
65
66
67- Rust 1.46+ (tested with 1.46.0)
68- Should work on any platform including:
69    - Linux
70    - Windows 1511+
71    - OpenBSD 6.4+
72
73
74### Windows notes
75
76
77xd(1) currently requires [ENABLE_VIRTUAL_TERMINAL_PROCESSING](https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences), which was introduced on or near Windows build 10586.
78This includes most versions of Windows 10 (1511+), or any version of Windows Server 2016 (1607+) or newer.
79
80
81If you pipe or redirect output before it reaches the console, try **--table classic** for ASCII only, or set your code page to UTF-8.
82To enable UTF-8 on Windows version 1809 or newer, run **intl.cpl**, click **Administrative**, click **Change system locale**, then check **Use Unicode UTF-8 for worldwide language support**.
83If you use an older version of Windows, try [one of these methods](https://superuser.com/q/269818).
84Note that all of the methods for enabling UTF-8 have been known to cause *some* software in the wild to misbehave.
85
86
87For best results in conhost, don’t use Raster Fonts.
88The other fonts offered by default work fairly well, with the exception of control pictures like ␀, because conhost doesn’t yet support font fallback.
89For the same reason, your mileage may vary with a custom font.
90