70 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// For more tutorials: https://blog.learngoprogramming.com
 | 
						|
//
 | 
						|
// Copyright © 2018 Inanc Gumus
 | 
						|
// Learn Go Programming Course
 | 
						|
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
 | 
						|
//
 | 
						|
 | 
						|
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
 | 
						|
*/
 |