android - 解码 base64 -> 二进制(八位字节流) -> 来自掌上软件的图像
问题描述
一位客户我正在建立一个网站,以满足她的现场代理在其掌上软件(通过第三方软件)上的产品图像的需求。我联系了该公司的技术支持,并询问图像是否托管在他们的服务器上,或者我是否可以拥有包含其位置的 csv/生成文件。
作为答案,他们说他们不会将其存储在数据库中,而是将信息发送到我可以在 ImageBytes 部分找到的 android。打开文档时,我得到一个 ID、产品名称和似乎是base64
字符串的列表。
这是一个字符串的摘录(超过 30k+ 字符)
我尝试将其加载为<img src="data:image/png;base64,string>
,它显然不起作用。
我去了base64.guru,经过分析,它似乎是一个八位字节/流;尝试加载,失败。二进制文件。尝试从base64下载到.bin保存,从bin-> bmp在线转换器等等。
我在 SO 上阅读了几个答案,因为它是在 PALMS 上,所以我认为它们可能是位图文件,但老实说,这只是一个疯狂的猜测。
我已经阅读了有关 bitmapfactory 的信息,并想嘿,也许输出文件是在 bitmapfactory 中编码的,然后才被解码。
由于我没有原生的 Android/Java 经验(只是在小型项目中与 ng/ionic 混合使用),所以我现在似乎在追鬼,技术人员会在 3-4 天内回复。
关于我如何至少了解正在发生的事情或我应该寻找什么的任何想法?
谢谢你。
解决方案
这是一张十六进制编码的 JPEG 图片。每个字节由两个十六进制的 ASCII 字符表示。
它以 0x 开头,后跟十六进制 (0..9, A..F) 数字。
前 4 个字节FFD8FFE0
是JPEG 标头的典型开头
您可以使用在线工具进行转换,例如。这个
推荐阅读
- ios - Draw CALayer border around UIView
- javascript - How to force a linebreak in Chrome contenteditable div
- java - Remove some bytes from byte buffer and returning same byte buffer
- python - Remove specific characters in string using a given list in python
- go - How to stop retry on bounce in Amazon SES Golang SDK
- android - Handling Bluetooth headset keys
- node.js - Access Token and Refresh Token Dilema - JWT
- javascript - 如何随机更改元素的背景图像?
- ffmpeg - How to increase speed of ffmpeg stream when running in cli assuming streaming over network
- reactjs - Styled components with rfs sizing