71 lines
1.5 KiB
Go
71 lines
1.5 KiB
Go
// Copyright © 2018 Inanc Gumus
|
|
// Learn Go Programming Course
|
|
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
|
//
|
|
// For more tutorials : https://learngoprogramming.com
|
|
// In-person training : https://www.linkedin.com/in/inancgumus/
|
|
// Follow me on twitter: https://twitter.com/inancgumus
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
func main() {
|
|
var start, stop int
|
|
|
|
if args := os.Args[1:]; len(args) == 2 {
|
|
start, _ = strconv.Atoi(args[0])
|
|
stop, _ = strconv.Atoi(args[1])
|
|
}
|
|
|
|
if start == 0 || stop == 0 {
|
|
start, stop = 'A', 'Z'
|
|
}
|
|
|
|
fmt.Printf("%-10s %-10s %-10s %-12s\n%s\n",
|
|
"literal", "dec", "hex", "encoded",
|
|
strings.Repeat("-", 45))
|
|
|
|
for n := start; n <= stop; n++ {
|
|
fmt.Printf("%-10c %-10[1]d %-10[1]x % -12x\n", n, string(n))
|
|
}
|
|
}
|
|
|
|
/*
|
|
EXAMPLE UNICODE BLOCKS
|
|
|
|
1 byte
|
|
------------------------------------------------------------
|
|
asciiStart = '\u0001' -> 32
|
|
asciiStop = '\u007f' -> 127
|
|
|
|
upperCaseStart = '\u0041' -> 65
|
|
upperCaseStop = '\u005a' -> 90
|
|
|
|
lowerCaseStart = '\u0061' -> 97
|
|
lowerCaseStop = '\u007a' -> 122
|
|
|
|
|
|
2 bytes
|
|
------------------------------------------------------------
|
|
latin1Start = '\u0080' -> 161
|
|
latin1Stop = '\u00ff' -> 255
|
|
|
|
|
|
3 bytes
|
|
------------------------------------------------------------
|
|
dingbatStart = '\u2700' -> 9984
|
|
dingbatStop = '\u27bf' -> 10175
|
|
|
|
|
|
4 bytes
|
|
------------------------------------------------------------
|
|
emojiStart = '\U0001f600' -> 128512
|
|
emojiStop = '\U0001f64f' -> 128591
|
|
*/
|