JavaScript:从图像中删除字节(base64 String)

时间:2014-12-04 16:59:17

标签: javascript base64

我正在使用SAP Web IDE中的Northwind服务。此服务中的图像以base64字符串格式存储:FRwvAAIAAAAN....

我发现我无法使用给定的base64字符串值直接在我的应用程序中使用这些图像,因为Northwind DB是旧的并且在MS Access中制作,并且有78个冗余字节表示OLE标头。所以我想从base64 String中删除这78个字节。

你能帮我使用 JavaScript 语言(我是这门语言的新手)。我希望你能为专家。这就是我所做的:

我创建了函数:

photo : function (value) { var str = ""; for (var p in value) { if (value.hasOwnProperty(p)) { str += value[p]; } } ..........

使用此功能,我将base64 Sting作为导入参数。我将导入参数从object转换为string。

那我接下来该怎么办?创建数组或其他?如何从String中删除78个BYT?

1 个答案:

答案 0 :(得分:0)

在base64中,每个字符包含6位信息,因此4个字符包含24位信息,即3个字节。

你很幸运。由于78恰好可以被三次均分,前78个字节完全对应前104个字符(78个字节= 624位= 104个字符)。

因此,要删除base64字符串的前78个字节,请删除前104个字符:

s = s.substr(104);

(如果你没那么幸运,你将不得不将整个字符串解码为字节,删除前78个字节,再次将字节编码为字符串。)