2 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
這里有幾個(gè)問(wèn)題。首先,您給出以下預(yù)期結(jié)果:
[ 160 130 161 162 163 181 144 214 224 233 ]
但是你省略了 和 ,所以預(yù)期結(jié)果應(yīng)該是:??
[160 130 161 162 163 164 181 144 214 224 233 165]
其次,您鏈接到 [1] 的這個(gè)頁(yè)面說(shuō)它是代碼頁(yè) 437,但它實(shí)際上是代碼頁(yè) 850。您可以看到“其他相關(guān)編碼”[2]下列出了850。下面是一個(gè)工作示例 [3]:
package main
import (
"fmt"
"golang.org/x/text/encoding/charmap"
)
func main() {
b := []byte("áéíóú?áéíóú?")
c, e := charmap.CodePage850.NewEncoder().Bytes(b)
if e != nil {
panic(e)
}
fmt.Println(c)
}

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
對(duì)于這些字符,您可以使用 ascii85 編碼器/解碼器。
字節(jié)切片將與您的期望不匹配,但是,輸出將與您的輸入匹配。(我假設(shè)這是這里的關(guān)鍵)
package mainimport ( "encoding/ascii85" "fmt")func main() { enc := make([]byte, 30, 30) dec := make([]byte, 30, 30) ascii85.Encode(enc, []byte("áéíóú?áéíóú?")) ascii85.Decode(dec, enc, false) fmt.Println(enc) fmt.Println(string(dec)) }
https://golang.org/pkg/encoding/ascii85/
https://play.golang.org/p/ErBSKYVBXNg
- 2 回答
- 0 關(guān)注
- 141 瀏覽
添加回答
舉報(bào)