栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

GoLang-使用ISO-8859-1字符集进行持久化

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

GoLang-使用ISO-8859-1字符集进行持久化

包字符集

import "pre.google.com/p/go-charset/charset"

func NewWriter

func NewWriter(charset string, w io.Writer) (io.WriteCloser, error)

NewWriter
将新的
WriteCloser
文字返回给
w
。它将UTF-8文本的写入转换
w
为命名字符集中的文本的写入。所述
Close
冲洗任何残留的部分翻译的字符到所述输出是必要的。


我将按照说明进行操作:“

Close
必须将所有剩余的部分翻译的字符刷新到输出。” 例如,

package mainimport (    "bytes"    "pre.google.com/p/go-charset/charset"    _ "pre.google.com/p/go-charset/data"    "fmt"    "io/ioutil"    "strings")func toISO88591(utf8 string) (string, error) {    buf := new(bytes.Buffer)    w, err := charset.NewWriter("latin1", buf)    if err != nil {        return "", err    }    fmt.Fprintf(w, utf8)    w.Close()    return buf.String(), nil}func fromISO88591(iso88591 string) (string, error) {    r, err := charset.NewReader("latin1", strings.NewReader(iso88591))    if err != nil {        return "", err    }    buf, err := ioutil.ReadAll(r)    if err != nil {        return "", err    }    return string(buf), nil}func main() {    utfi := "£5 for Peppé"    fmt.Printf("%qn", utfi)    iso, err := toISO88591(utfi)    if err != nil {        fmt.Println(err)    }    fmt.Printf("%qn", iso)    utfo, err := fromISO88591(iso)    if err != nil {        fmt.Println(err)    }    fmt.Printf("%qn", utfo)    fmt.Println(utfi == utfo)}

输出:

"£5 for Peppé""xa35 for Peppxe9""£5 for Peppé"true


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/633194.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号