在实际项目中用到了加密的算法,在迁移php到go的过程中发现一个问题,查了半天没搞定。
如果用php的chr函数,来获取证书211的字符,获取到的乱码和使用go的rune获取到的乱码不一样。
php的代码如下:
`var_dump(chr(211))`
go的代码如下:
·`fmt.Printf("%c",211)·`
php的输出结果是
·�·
go的输出结果是:
`Ó`
试试
```
package main
import(
"fmt"
"unicode"
)
func chr(r rune) rune {
if r >= 0 && r <= unicode.MaxASCII {
return r
}
return unicode.ReplacementChar
}
func main() {
fmt.Printf("%c\n", chr(211))
}
```
#1