使用Base64编码的Charset问题

时间:2016-02-12 18:35:13

标签: ruby encoding base64

我正在尝试编码/解码一个简单的字符串...... 这是:

Base64.encode64("FUOdM6Tgl;FUOK4X2ZT;u6OUm;MAK HOLZ GmbH & Co KG;fuo16;pellet@makholz.com;pellet@makholz.at;AT69685557;IT")

结果值是:

"RlVPZE02VGdsO0ZVT0s0WDJaVDt1Nk9VbTtNQUsgSE9MWiBHbWJIICYgQ28g\nS0c7ZnVvMTY7cGVsbGV0QG1ha2hvbHouY29tO3BlbGxldEBtYWtob2x6LmF0\nO0FUNjk2ODU1NTc7SVQ=\n"

如果我从控制台解码它,我正确地得到原始字符串:

Base64.decode64("RlVPZE02VGdsO0ZVT0s0WDJaVDt1Nk9VbTtNQUsgSE9MWiBHbWJIICYgQ28g\nS0c7ZnVvMTY7cGVsbGV0QG1ha2hvbHouY29tO3BlbGxldEBtYWtob2x6LmF0\nO0FUNjk2ODU1NTc7SVQ=\n")
# => "FUOdM6Tgl;FUOK4X2ZT;u6OUm;MAK HOLZ GmbH & Co KG;fuo16;pellet@makholz.com;pellet@makholz.at;AT69685557;IT"

现在..我使用一些在线工具得到的值是不同的。这似乎是一个charset问题。我该如何解决?

编辑:

好吧,我发现了问题。编码的字符串包含“\ n”字符。所以我决定这样做:Base64.encode64(str).gsub(/ \ n /,'')

0 个答案:

没有答案