我使用 Flash CS6 将动画导出到 spritesheet。这给了我 2 个文件:一个 png 和一个 json 文件。
这是 json 的简化版本:
{"frames":
{
"movieclip 10000":
{
"frame": {"x":676,"y":0,"w":164,"h":280},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":164,"h":280},
"sourceSize": {"w":164,"h":280}
},
…
"movieclip 10004":
{
"frame": {"x":671,"y":280,"w":164,"h":280},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":164,"h":280},
"sourceSize": {"w":164,"h":280}
}
},
"meta": {
"app": "Adobe Flash CS6",
"version": "12.0.2.529",
"image": "boom1 8B4 def.png",
"format": "RGBA8888",
"size": {"w":1024,"h":1000},
"scale": "1"
}
这里没什么特别的。但是该文件以(根据 textwrangler)UTF-16 Little Endian 编码。这在 Chrome 中没有任何问题,但是在 FF 中解析 json 时出现“parsererror”。
当我更改文件的编码时,它在 Firefox 中没有任何问题。
所以这是我的问题:(如何)我可以使用javascript更改编码吗?
这个片段是我加载我的 json 的方式:
$.ajax({
type: "POST",
url: this.json,
scriptCharset: "utf-8",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(json) {
that.jsonLoadHandler(json);
},
error: function (xhr, textStatus, errorThrown) {
that.errorHandler(xhr, textStatus);
}
});
感谢您的时间。