mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 04:14:01 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			702 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			702 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package main
 | 
						|
 | 
						|
import (
 | 
						|
	"flag"
 | 
						|
	"io"
 | 
						|
	"log"
 | 
						|
	"os"
 | 
						|
 | 
						|
	"github.com/gogits/gogs/modules/mahonia"
 | 
						|
)
 | 
						|
 | 
						|
// An iconv workalike using mahonia.
 | 
						|
 | 
						|
var from = flag.String("f", "utf-8", "source character set")
 | 
						|
var to = flag.String("t", "utf-8", "destination character set")
 | 
						|
 | 
						|
func main() {
 | 
						|
	flag.Parse()
 | 
						|
 | 
						|
	var r io.Reader = os.Stdin
 | 
						|
	var w io.Writer = os.Stdout
 | 
						|
 | 
						|
	if *from != "utf-8" {
 | 
						|
		decode := mahonia.NewDecoder(*from)
 | 
						|
		if decode == nil {
 | 
						|
			log.Fatalf("Could not create decoder for %s", *from)
 | 
						|
		}
 | 
						|
		r = decode.NewReader(r)
 | 
						|
	}
 | 
						|
 | 
						|
	if *to != "utf-8" {
 | 
						|
		encode := mahonia.NewEncoder(*to)
 | 
						|
		if encode == nil {
 | 
						|
			log.Fatalf("Could not create decoder for %s", *to)
 | 
						|
		}
 | 
						|
		w = encode.NewWriter(w)
 | 
						|
	}
 | 
						|
 | 
						|
	io.Copy(w, r)
 | 
						|
}
 |