什么文本编码方案使用时具有的二进制数据,需要发送过一个ascii频道吗?
题
如果你有的二进制数据,需要进行编码,什么样的编码方案做你用?
我知道的:
是否有任何其他编码方案共同使用?如果是这样,什么都有优点和缺点?
编辑:这是有用的,例如,当试图以任意数据存储在一个饼干。饼干只能储存的文本,不是任意的数据,所以你需要把它在一些方式,最好的方式来把它找回来。此外,假设你正在使用一个无国籍的服务器,因此,无法保存国家在服务器上,只是把一个标识到cookie。当然,如果你这样做你也会需要一些方法核实用户,是通过回到你的是什么您传递给用户,例如一个签名。
此外,由于目前的共识是,应该使用base64因为它是普遍的,我还将指出,本 是 我用什么...我只是好奇如果任何人使用任何东西,如果是,为什么。
编辑:只是以防万一有人绊跨此,如果你想使用Base64将数据存储在一个饼干,你需要用到的 修改Base64执行情况.看看 这个答案 的原因。
解决方案
用于编码cookie值,需要谨慎小心。看看这个 老答案:
与版0饼干、价值观应该 不含有的空白、支架 括号, 等号, ,逗号, 双引号,斜线问题 标记,标志,冒号, 分号。空值可能不 表现的同样的方式对所有的浏览器。
Base64编码可以产生 =
符号用的某些输入的,这在技术上是不允许在饼干(版0饼干,无论如何,这都是最广泛的支持)。在实践中,我怀疑 =
实际上会的工作很好,但也许不能。
我谨建议,应绝对相信,你的二进制编码是饼干兼容,然后基本进制编码是最安全(例如 在java).
编辑: 作为@保罗有益的指出,有一个 修改版本的基64 这就是"网址的安全"(而且,我假设,"cookie安全").用一种修改版的标准算法的,而冲淡它的魅力、心你。
编辑:@shoosh指出, =
只是用来表示结束base64string,所以你可以剪的 =
, ,设置cookie,然后重新装上 =
再次当你需要解码。