├── public └── favicon.ico ├── src ├── main.js ├── App.vue ├── components │ ├── BitBox.vue │ └── BitBench.vue └── bitstring.js ├── .gitignore ├── vite.config.js ├── index.html ├── README.md ├── package.json └── LICENSE /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triq-org/bitbench/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue' 3 | 4 | const app = createApp(App) 5 | app.mount('#app') 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw* 22 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig(({ mode }) => { 6 | return { 7 | base: mode == 'production' ? '/bitbench/' : '', 8 | server: { 9 | port: 8080, 10 | }, 11 | plugins: [vue()], 12 | } 13 | }) 14 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 |Visually dissect and analyze bit strings.
8 |
5 | Enter hex code lines to analyze.
6 | Prefix y for dual,
7 | z for decimal,
8 | x for hex,
9 | o for octal,
10 | t for ternary (0,1,Z,X).
11 | Specify a bit length with {…} prefix (pad/truncate right, left for decimal),
12 | text in […] brackets is ignored as comment.
13 |
19 | Align 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | Zero-fill 28 | 30 | 31 | Comments 32 | 34 |
35 |45 | Shift 46 | 47 | 48 | 49 | 50 | Invert 51 | 52 | 53 | Xor 54 | 55 | 56 | Reflect 57 | 58 | 59 | 60 |
61 |70 | Coding 71 | 72 | 73 | 74 | 75 | 76 | Whitening 77 | 78 | 79 | 80 | 81 | 82 |
83 |92 | Calculation 93 | 94 | 95 | 96 | 97 | 98 | Offset 99 | 100 | 101 | 102 | 103 | Length 104 | 105 | 106 | 107 | 108 | Width 109 | 110 | 111 | 112 | 113 | 114 | Show 115 | 116 | 117 | 118 |
119 |
123 | Enter format string (each line is one decode).
124 | h hex (4 bits)
125 | b binary (1 bit)
126 | d decimal (8 bits)
127 | s signed decimal (8 bits)
128 | f float (32 bits)
129 | c ascii character (8 bits)
130 | x skip (1 bit)
131 |
132 | Use optional bit length prefix numbers.
133 | Use "~" to invert bits, use "^" to reverse LSB/MSB, use ">" and "<" to
134 | interpret multi-byte values as big-endian (default) or little-endian.
135 | Other characters are output as-is.
136 | Help,
137 | Examples.
138 |
h" for hex (default 4 bits)b" for binary (default 1 bit)d" for decimal (default 8 bits)c" for ascii character (default 8 bits)x" for don't care / don't output (default 1 bit)hh " or "8h " for byte-grouped hex output.hhhh " or "16h " for word-grouped hex output.b" for ungrouped binary output.4b 4b | " for nibble and byte-grouped binary output.8b \n 8h \n 8d " for bit, hex, and dec outputs.hh ID:hh b CH3d TEMP_C:12d HUM:d CRC:8h | 8h 16h 16h " e.g. for the example data.