Skip to content

Instantly share code, notes, and snippets.

@hitalos
Last active January 5, 2023 01:28
Show Gist options
  • Save hitalos/17d7fb342cddf78c096d732aa37d0f91 to your computer and use it in GitHub Desktop.
Save hitalos/17d7fb342cddf78c096d732aa37d0f91 to your computer and use it in GitHub Desktop.
ASCII table
package main
import (
"fmt"
)
const (
numCols = 4
height = 32
width = 20
)
var values = map[int]string{
0: "NULL",
1: "SOH", // start if heading
2: "STX", // start of text
3: "ETX", // end of text
4: "EOT", // end of transmission
5: "ENQ", // enquiry
6: "ACK", // acknowledge
7: "BEL", // bell
8: "BS", // backspace
9: "TAB", // horizontal tab
10: "LF", // line feed
11: "VT", // vertical tab
12: "FF", // form feed
13: "CR", // carriage return
14: "SO", // shift out
15: "SI", // shift in
16: "DLE", // data link escape
17: "DC1", // device control 1
18: "DC2", // device control 2
19: "DC3", // device control 3
20: "DC4", // device control 4
21: "NAK", // negative acknowledge
22: "SYN", // synchronous idle
23: "ETB", // end of transmission block
24: "CAN", // cancel
25: "EM", // end of medium
26: "SUB", // substitute
27: "ESC", // escape
28: "FS", // file separator
29: "GS", // group separator
30: "RS", // record separator
31: "US", // unit separator
32: "Space",
127: "DEL",
}
func main() {
var goToFirstLine bool
for i := 0; i < numCols; i++ {
printCol(i*height, i*width, goToFirstLine)
goToFirstLine = true
}
}
func printCol(startCode, startCol int, firstLine bool) {
if firstLine {
fmt.Printf("\x1b[%dA", height)
}
for i := 0; i < height; i++ {
fmt.Printf("\x1b[%dC", startCol)
fmt.Printf("%3[1]d - %3[1]X - %[2]s\n", i+startCode, translate(i+startCode))
}
}
func translate(n int) string {
if _, ok := values[n]; ok {
return values[n]
}
return fmt.Sprintf("%c", n)
}
@hitalos
Copy link
Author

hitalos commented Dec 1, 2022

   0 -   0 - NULL    32 -  20 - Space    64 -  40 - @        96 -  60 - `
   1 -   1 - SOH     33 -  21 - !        65 -  41 - A        97 -  61 - a
   2 -   2 - STX     34 -  22 - "        66 -  42 - B        98 -  62 - b
   3 -   3 - ETX     35 -  23 - #        67 -  43 - C        99 -  63 - c
   4 -   4 - EOT     36 -  24 - $        68 -  44 - D       100 -  64 - d
   5 -   5 - ENQ     37 -  25 - %        69 -  45 - E       101 -  65 - e
   6 -   6 - ACK     38 -  26 - &        70 -  46 - F       102 -  66 - f
   7 -   7 - BEL     39 -  27 - '        71 -  47 - G       103 -  67 - g
   8 -   8 - BS      40 -  28 - (        72 -  48 - H       104 -  68 - h
   9 -   9 - TAB     41 -  29 - )        73 -  49 - I       105 -  69 - i
  10 -   A - LF      42 -  2A - *        74 -  4A - J       106 -  6A - j
  11 -   B - VT      43 -  2B - +        75 -  4B - K       107 -  6B - k
  12 -   C - FF      44 -  2C - ,        76 -  4C - L       108 -  6C - l
  13 -   D - CR      45 -  2D - -        77 -  4D - M       109 -  6D - m
  14 -   E - SO      46 -  2E - .        78 -  4E - N       110 -  6E - n
  15 -   F - SI      47 -  2F - /        79 -  4F - O       111 -  6F - o
  16 -  10 - DLE     48 -  30 - 0        80 -  50 - P       112 -  70 - p
  17 -  11 - DC1     49 -  31 - 1        81 -  51 - Q       113 -  71 - q
  18 -  12 - DC2     50 -  32 - 2        82 -  52 - R       114 -  72 - r
  19 -  13 - DC3     51 -  33 - 3        83 -  53 - S       115 -  73 - s
  20 -  14 - DC4     52 -  34 - 4        84 -  54 - T       116 -  74 - t
  21 -  15 - NAK     53 -  35 - 5        85 -  55 - U       117 -  75 - u
  22 -  16 - SYN     54 -  36 - 6        86 -  56 - V       118 -  76 - v
  23 -  17 - ETB     55 -  37 - 7        87 -  57 - W       119 -  77 - w
  24 -  18 - CAN     56 -  38 - 8        88 -  58 - X       120 -  78 - x
  25 -  19 - EM      57 -  39 - 9        89 -  59 - Y       121 -  79 - y
  26 -  1A - SUB     58 -  3A - :        90 -  5A - Z       122 -  7A - z
  27 -  1B - ESC     59 -  3B - ;        91 -  5B - [       123 -  7B - {
  28 -  1C - FS      60 -  3C - <        92 -  5C - \       124 -  7C - |
  29 -  1D - GS      61 -  3D - =        93 -  5D - ]       125 -  7D - }
  30 -  1E - RS      62 -  3E - >        94 -  5E - ^       126 -  7E - ~
  31 -  1F - US      63 -  3F - ?        95 -  5F - _       127 -  7F - DEL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment