【发布时间】:2011-07-08 01:20:47
【问题描述】:
我正在将功能从 Objective-C iPhone 应用程序移植到 Javascript iPhone 应用程序 (Appcelerator Titanium)。在 Objective-C 中,我有一个 NSData 对象来表示这个标记:
//NSData object printed to the console:
<0cd9f571 b0e66e6d ca410d12 f67a404a 7e64b9b5 d2483fd9 63a9267b 1c7609e2>
它不是一个字符串,它是一个 NSData 对象——一个字节缓冲区的面向对象的包装器。当我对对象进行base64编码时,我得到了这个结果:
//base64 encoded NSData object
DNn1cbDmbm3KQQ0S9npASn5kubXSSD/ZY6kmexx2CeI=
在我的 javascript 实现中,我有一个相同标记的字符串表示形式。它看起来像这样:
//string version of the token in my javascript implementation
0cd9f571b0e66e6dca410d12f67a404a7e64b9b5d2483fd963a9267b1c7609e2
当我在 javascript 中对字符串对象进行 base64 编码时,我得到以下结果:
//base64 encoded token (string) in javascript
MGNkOWY1NzFiMGU2NmU2ZGNhNDEwZDEyZjY3YTQwNGE3ZTY0YjliNWQyNDgzZmQ5NjNhOTI2N2IxYzc2MDllMg==
问题是,我发布到的 Web 服务不需要 base64 编码的字符串,它需要 base64 编码的数据!我怎样才能在 javascript 中做到这一点?
【问题讨论】:
-
0cd9f571b0e66e6dca410d12f67a404a7e64b9b5d2483fd963a9267b1c7609e2 base64 不是已经编码了吗?从它的外观我认为它是
-
@TheBrain:这是一个十六进制数。换句话说,它是 base 16 编码的。
标签: javascript iphone encoding base64