【发布时间】:2014-11-05 23:02:35
【问题描述】:
这是一个奇怪的问题。
基本上,我认为让用户键入一个字符串,将该字符串转换为 base64 并创建一个图像是一个很酷的主意。
虽然我没有学过base64,但我知道图像有标题数据,并且需要有一定的长度。我已经设法分离出告诉图像颜色的 base64 数据。现在,我有一个基本的白色图像 - you can check a js fiddle here -(不确定它是否在那里工作,但它在我的浏览器中工作)。
无论如何,变量“imgdata”是我的 PNG 图像的原始数据,这就是我想要更改的。不幸的是,该字符串似乎需要一定数量的字符,否则图像将无法正常工作(猜测它是标题中指定的大小?)
因为用户输入的字符串在转换为 base64 时不太可能总是达到相同数量的字符,所以我想知道如何替换字符串的第一部分,而不要理会其余部分。
TL;DR
我有这个字符串 -
aaa
我想替换这个字符串 -
123456
由于 string1 只有 3 个字符,我只希望它替换 string2 的前 3 个字符 所以结果看起来像
aaa456
记住 string1 的长度会有所不同。
【问题讨论】:
-
查看
.slice()和.length的字符串,您应该会找到所需的所有答案。 -
在 Javascript 中被视为数组的字符串类似于 Java,还是我需要做一些事情,例如创建一个新数组并将每个字符分配给一个新索引?
-
没有。字符串不是 Javascript 中的数组。字符串有自己的一组方法,无需将它们放入数组来解决您的问题。也许您需要仔细阅读字符串上可用的方法here。使用
.slice()获取字符串的第一个或最后 N 个字符,然后将两个字符串重新加在一起,这就是解决问题所需的全部内容。 -
@AlexanderLozada 字符串在 Javascript 中是不可变的。
标签: javascript base64