我正在尝试编码/解码一个简单的字符串...... 这是:
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 /,'')