javascript - 给定相同的输入字符串,为什么这些 base64 编码输出不同?

标签 javascript groovy go base64 gnu

当从相同的输入字符串中获取 bas64 编码的字符串时,我发现 JavaScript、Groovy 和 Go 具有相同的结果,但 GNU base64 略有不同。这是为什么?

JavaScript(nodejs v0.10.33):

new Buffer('Laurence Tureaud is Mr. T').toString('base64');
TGF1cmVuY2UgVHVyZWF1ZCBpcyBNci4gVA==

Groovy(Java 8 上的 2.3.7):

'Laurence Tureaud is Mr. T'.bytes.encodeBase64().toString()
TGF1cmVuY2UgVHVyZWF1ZCBpcyBNci4gVA==

Go (1.4):

b64.StdEncoding.EncodeToString([]byte("Laurence Tureaud is Mr. T"))
TGF1cmVuY2UgVHVyZWF1ZCBpcyBNci4gVA==

GNU base64(GNU coreutils 8.12.197-032bb with UTF-8 term charset):

echo 'Laurence Tureaud is Mr. T' | base64
TGF1cmVuY2UgVHVyZWF1ZCBpcyBNci4gVAo=

最佳答案

echo 'Laurence Tureaud is Mr. T'

Echo 在字符串后添加一个换行符。

尝试以下删除换行符:

echo -n 'Laurence Tureaud 是 T 先生' | base64

你得到TGF1cmVuY2UgVHVyZWF1ZCBpcyBNci4gVA==

关于javascript - 给定相同的输入字符串,为什么这些 base64 编码输出不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30102466/

相关文章:

xml - groovy GPATH 帮助

gradle - 为什么gradle不打印属性文件?

go - 无法生成 gin-gonic 服务器应用程序的代码覆盖率报告

javascript - 重定向到 https 不工作(和 https 本身不工作)

javascript - Rails 4 和 gon - 不工作? window.gon={};

javascript - 如果数据为真,则向用户显示确认消息

C 回调和非 Go 线程

javascript - 动态添加/删除 Angular 中表格行的输入框

java - 使用 Java 9+ 模块设置在 CLI 中运行 Groovy

c++ - 具有大字符指针的 Golang CGO - SEGSERV