Created
October 22, 2014 03:40
-
-
Save memememomo/506ad86488ae6eca70ef to your computer and use it in GitHub Desktop.
Go言語で文字コード変換 ref: http://qiita.com/uchiko/items/1810ddacd23fd4d3c934
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"code.google.com/p/go.text/encoding/japanese" | |
"code.google.com/p/go.text/transform" | |
"fmt" | |
"io/ioutil" | |
"strings" | |
) | |
// UTF-8 から ShiftJIS | |
func utf8_to_sjis(str string) (string, error) { | |
ret, err := ioutil.ReadAll(transform.NewReader(strings.NewReader(str), japanese.ShiftJIS.NewEncoder())) | |
if err != nil { | |
return "", err | |
} | |
return string(ret), err | |
} | |
// ShiftJIS から UTF-8 | |
func sjis_to_utf8(str string) (string, error) { | |
ret, err := ioutil.ReadAll(transform.NewReader(strings.NewReader(str), japanese.ShiftJIS.NewDecoder())) | |
if err != nil { | |
return "", err | |
} | |
return string(ret), err | |
} | |
// UTF-8 から EUC-JP | |
func utf8_to_eucjp(str string) (string, error) { | |
ret, err := ioutil.ReadAll(transform.NewReader(strings.NewReader(str), japanese.EUCJP.NewEncoder())) | |
if err != nil { | |
return "", err | |
} | |
return string(ret), err | |
} | |
// EUC-JP から UTF-8 | |
func eucjp_to_utf8(str string) (string, error) { | |
ret, err := ioutil.ReadAll(transform.NewReader(strings.NewReader(str), japanese.EUCJP.NewDecoder())) | |
if err != nil { | |
return "", err | |
} | |
return string(ret), err | |
} | |
func main() { | |
str := "テスト" | |
msg, err := utf8_to_sjis(str) | |
if err != nil { | |
panic(err) | |
} | |
msg, err = sjis_to_utf8(msg) | |
fmt.Println(msg) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
go get code.google.com/p/go.text/encoding | |
go get code.google.com/p/go.text/encoding/japanese |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment