'golang'에 해당되는 글 1건

  1. 2025.09.30 EUR-KR to UTF8 변환 코드
Tip/Windows2025. 9. 30. 01:40
package main

import (
	"fmt"
	"io"
	"os"

	"golang.org/x/text/encoding/korean"
	"golang.org/x/text/transform"
)

func main() {
	if len(os.Args) < 2 {
		// 표준 입력(stdin)에서 euc-kr로 인코딩된 데이터를 읽습니다.
		eucKrReader := transform.NewReader(os.Stdin, korean.EUCKR.NewDecoder())

		// euc-krReader에서 읽은 데이터를 utf-8로 변환하여 표준 출력(stdout)에 씁니다.
		_, err := io.Copy(os.Stdout, eucKrReader)
		if err != nil {
			fmt.Fprintf(os.Stderr, "Error: %v\n", err)
			os.Exit(1)
		}
	} else if len(os.Args) == 2 && os.Args[1] == "-kr" {
		// 표준 출력(stdout)을 EUC-KR 인코더로 래핑합니다.
		eucKrWriter := transform.NewWriter(os.Stdout, korean.EUCKR.NewEncoder())

		// 표준 입력(stdin)에서 읽은 UTF-8 데이터를 EUC-KR로 변환하여 씁니다.
		_, err := io.Copy(eucKrWriter, os.Stdin)
		if err != nil {
			fmt.Fprintf(os.Stderr, "Error: %v\n", err)
			os.Exit(1)
		}
	} else {
		print("Chobocho's EUC-KR to UTF-8 Converter V0.2\n" +
			"Usage: utf.exe < euc_kr_file.txt\n" +
			"       utf.exe -kr > euc_kr_file.txt\n")
	}
}
Posted by chobocho