如何在Rails 3中解码JSON格式的图像数据?
在 Rails 3 中,我想将 JSON 格式的位图图像数据发布到服务器,因此我执行以下步骤。
1. 在客户端,将位图图像转换为字符串。
2. 将字符串编码为 JSON 格式并发布到服务器。
3. 解码JSON格式的位图图像数据。
现在的问题是:
在位图图像中,有很多0字节或其他不可读的字节,编码为JSON格式后,0字节将被转换为/u0000,空格字节将被转换为/u000a。
在服务器端,我使用ActiveResource::Formats::JsonFormat.decode来解码JSON字符串,但是该方法会在遇到/u0000时停止,例如
JSON 字符串“\u0066\u0066\u0000\u0066\u0066”将被解码为“ff”,其余三个字节将被默默丢弃。
那么如何解决这个问题呢?我应该自己编写一个函数来解码 JSON 字符串吗?
In Rails 3, I want to post the bitmap image data in JSON format to server, so I do the following steps.
1. In client, translate the bitmap image to string.
2. Encode the string in JSON format and post to the server.
3. Decode the bitmap image data of JSON format.
Now the problem is:
In bitmap image, there are many 0 bytes or other unreadable bytes, after encoding in JSON format, 0 byte will be translated to /u0000, space byte will to /u000a.
In the server end, I use ActiveResource::Formats::JsonFormat.decode to decode the JSON string, but the method will stop when it meets /u0000, for example,
JSON string "\u0066\u0066\u0000\u0066\u0066" will be decoded to be "ff", and the rest three bytes will be discarded silently.
So how to resolve this problem? should I write a function to decode the JSON string myself?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您确实应该以多部分形式将数据以二进制形式发布。
如果必须将其编码为字符串,请使用 base64。
You should really be POSTing that data as binary in a multipart form.
If you must encode it into a string, use base64.