登录
首页 >  Golang >  Go问答

php和go base64含不可见字符结果不一致

来源:SegmentFault

时间:2023-01-24 17:25:08 450浏览 收藏

本篇文章给大家分享《php和go base64含不可见字符结果不一致》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

加密字符串的ASCII:

149
102
100
152
109
153
155
113

php
算法:

base64_encode

结果:
lWZkmG2Zm3E=

go
算法:

base64.StdEncoding.EncodeToString

结果:
wpVmZMKYbcKZwptx

这是为什么? 两个语言的base64标准不一样?还是别的什么问题导致的?

正确答案

你go用utf8计算的base64,我在官网在线计算的是对的,附上在线计算的代码.https://play.golang.org/p/fFcixgoAFHZ

package main

import (
    "encoding/base64"
    "fmt"
)

func main() {
    data := []byte{149, 102, 100, 152, 109, 153, 155, 113}
    fmt.Println(base64.RawStdEncoding.EncodeToString(data))
    data = []byte("\u0095fd\u0098m\u0099\u009bq")
    fmt.Println(base64.RawStdEncoding.EncodeToString(data))
}

// lWZkmG2Zm3E= 
// wpVmZMKYbcKZwptx

以上就是《php和go base64含不可见字符结果不一致》的详细内容,更多关于golang的资料请关注golang学习网公众号!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>