我在SAP Web IDE中使用Northwind Service。此服务中的图像以base64字符串格式存储:FRwvAAIAAAAN....
。
发现我不能使用给定的 base64 字符串值直接在我的应用程序中使用这些图像,因为罗斯文数据库很旧并且在 MS Access 中制作,并且有 78 个冗余字节代表 OLE 标头。所以我想从 base78 字符串中删除这 64 个字节。
你能帮帮我吗,使用JavaScript语言(我是这种语言的新手)。我希望你们专家。这是我所做的:
我创建了函数:
photo : function (value) {
var str = "";
for (var p in value) {
if (value.hasOwnProperty(p)) {
str += value[p];
}
}
..........
使用此功能,我将base64 Sting作为导入参数。我将导入参数从对象转换为字符串。
那么接下来我应该怎么做呢?创建数组或其他东西?如何从字符串中删除 78 字节?
在 base64 中,每个字符包含 6 位信息,因此 4 个字符包含 24 位信息,即 3 个字节。
你很幸运。由于 78 恰好被 3 整除,因此前 78 个字节正好对应于前 104 个字符(78 字节 = 624 位 = 104 个字符)。
因此,若要删除 base64 字符串的前 78 个字节,请删除前 104 个字符:
s = s.substr(104);
(如果你没有那么幸运,你将不得不将整个字符串解码为字节,删除前 78 个字节,再次将字节编码为字符串。