Java Android Base64到图像转换不同的编码?
我正在尝试将Base64字符串/字节数组转换为图像,但它不起作用 我有我正在编码和解码的现有绘图工具,工作正常 所以我认为我使用的编码是不正确的 我正在这样记录Java Android Base64到图像转换不同的编码?,java,android,sqlite,base64,Java,Android,Sqlite,Base64,我正在尝试将Base64字符串/字节数组转换为图像,但它不起作用 我有我正在编码和解码的现有绘图工具,工作正常 所以我认为我使用的编码是不正确的 我正在这样记录base64: Log.e(“标签”,内容) 数据库中的Base64(直接图像未转换为可绘制图像,不起作用),完全未格式化: /9j/4AAQSkZJRgABAgEBLAEsAAD/4QolRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAM
base64
:
Log.e(“标签”,内容)
数据库中的Base64(直接图像未转换为可绘制图像,不起作用),完全未格式化:
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tf8AQbbiX+m//BfQ/Ser+serdc9l9r68OfsjWt/Tsl0/usrdFjtv+E9TZ6XqfpPUWh1GhraW5FbROMPo8NdUYF1Tvzdmz3ImDjspxWY419EubPB53Tp++135qCmpViekxtLG2MYdXOaAJP7u6x/us/4W5HoLaZbXW5rifc10ST2n3b3f2FaNFJ5YD8lJtdbTLWgHxRUybOk6HuEk4GqSCn//0/VUC61lTTY8w0fj5BGcYCoZpb6tQe31Kx9JhIgh59L6Lvp+7YzZ/wAJYiFIxm5W+x5aw11gOfTqHsaR7XOt+g59n0vT2K9XYyxgfW4OY7UEKjS/dl5AaTa1vpvYwzAAbLX3Od7/AGvb+7v3/wDQL0wPFDg926Hkg8fSayw/9N3uSU2XvYxpc8w3g9+TtDY/O3SqQyshrga21sp2t9KmHFxadwafUq3sb7Gfm12MUs2+kWek6xoe1jnBkgHc4FjHncW/RZ6irDLxPt1r2X1tp9FkOGjvp2uNLf3fc79J/hNn/bqSnTbdW6oXSQwidRqNdu0t/f3e3aqTs/JN4DWsrr2OeGv9znBpbLvYfZs/kesoOux2Yb2+qxzGXDbuMtc5rW3vZPu3b7NyGczEGc1osZ6TWWezTbusfU5oN/8AN+j7H2+3/rn+jSU6tFnqMa8jaTMiQYI0PuH0kkDpljbKXbbG2lj3BxboNdW+yXbPakkp/9T1N/CodRAb6VrjFO707uAQ1/trsr3f4Rlu3/rdj1ff9FUcptt9ZrBLHifaW72OkRtfp+mrdu/fqRCkAA+0ZYcWvFjqtANrXzWTuu/er2N32f6T0/8Arat4VQqxmgAtDiXNaeQ0/Qn/AK3s3LJrc+zKyMOT9oLQ2HnUN907ne12z030evd/OWf9fWti031tHrWiwxqQOT4ztbtZ+5W1JTY1T6+acN8VJK1MIcnh3ipJJWpYCEk6SCn/1fVOdEOxr9jg0kOIO0iJntG8Ob/nNRUkrU49HQqhc/KtayvItO55rAe6T45OU2yx3H+Drx1rNbHy4UkkbUpJJJBSkkkklKSSSSU//9b1VJJJJSkkkklKSSSSUpJJJJSkkkklP//Z/+0OtFBob3Rvc2hvcCAzLjAAOEJJTQQlAAAAAAAQAAAAAAAAAAAAAAAAAAAAADhCSU0D7QAAAAAAEAEsAAAAAQACASwAAAABAAI4QklNBCYAAAAAAA4AAAAAAAAAAAAAP4AAADhCSU0EDQAAAAAABAAAAHg4QklNBBkAAAAAAAQAAAAeOEJJTQPzAAAAAAAJAAAAAAAAAAABADhCSU0ECgAAAAAAAQAAOEJJTScQAAAAAAAKAAEAAAAAAAAAAjhCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAAcAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAA
Base64来自现有的drawable(可行),它的格式很好:
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAPUAicDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iii
igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii
igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii
igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKbuX1/n7j+n8vXJ
dQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF
ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFJuUcZ6exoAWig
c9P89f8A4k/56lABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBXjhMSFAdw45OM8Fvf3GfbaM
8NViiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo
AKKKKACiiigAooooAKKKKACiiigAooooAKTIAJ9P/svf/Z/UdeaRjhWPp/8AFEdz6Kf/ANfJg3Mc
kDPvkc9R6nHT+fcEmW2r2Te1tHbeS7+Sduz31AnDA+31wO+P734/SlyPUfmP8aqFyCQVYYJAODg4
OP7vGQCR17jORynmgdePTknP38AYB5Ozp1GRwTUpztrFvpez8/6+7zJ50m1rp6ea7+X563TbtlgP
f6Y9SP73tn6EetJvHv8AkP8A4qq6SBhyrdccbs5xnoUwOMYLMBzjqMl4KE4O4Htypz1B754xzx1z
ycElrn8vn6vz8vW1ur1paq/p/wC3eb/l/FavUnB3DI/zyw/9l9e475paamNvGce/X7z/ANc/hjuG
p1Uttd7L/wBuv/7b/VwCiiimAU0sB1z9fxYev+zk+xHPWgnH09fzx+ePX154OcXWNc07RrO4vL+d
YoYI2eU5B2KqyuTt6sxRSVjGXc4RQWHIBsGRQCcMcduM45GfvdDj1z19CSwyEj5c84x+Z6nPHTjn
1z0weT8Laxe+ILR9SltEttOuSWsCz/vbuAE7Jwu1WjV93CMu4HdkkAE9ake1cLgDHIPJ+8+ece3P
vj05AJVztGeuF/P95nqT6D9OTjlaAMDH0H5bv8f5ehyUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA
UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVF5mFJ4znAHb+Lrz/s+vc9dpzLUEtvFNFJDJuKSo0bgH
BKsrKwBAyMhjyORnOcigDzfxT8U/CnhqK7S41bTZLi2XEsK31vv3h2BhUGUfv/7sJO9i2Bkrz4rr
3xx1u5hNt4f0fWrW4mki+zXFxpuYpYnkJLwW7RfaJECgxNNGJI1nWTLBVZq9rk+D3w0aZ7yTwpp0
t3uMguZlkeUSlnxLuZyPMGcq5G4EjkkV4545/Z0Outc3Phfxhqeiy7E8rTtRiGpaGrCR2UrbAxSY
D/vdpkbErFiRuNaUp0otqa1umpPZJSl59dX8mnvrnJSezdrbL/E+jWvS2736HzNr/iL4/eItSvYJ
fHtz4TsZJGaFn0LXbaMQy5aIC5MaxvOYyGdIyU4YgYU153ceAP2g33XFj+0JAXaUCMXOtzacyq3m
hT/xMJowWfIwUyinHmHlawvil4a/aJ+C+o3Gtaz4YuvEHh6S6SxPjbwz5uq2dlaqJpxLP4K0y4v9
XVGEcZQQWcrruSEEAuTyulftjQ+H9Sk0W5l0jXppbN7mdFlVPstrG8SQvdxTRLNaeYZXPl3CJJuR
12gxyV3QdGV4xlpo76a39NNOut/Ns5JtqTTlJNKNtbXXvedk1ZPXq1qndv0TTNN/a48LatDJbfFy
x1ghWndbn4geDpoGCKwVJLO/vlMyMsatz+7+dgp80PXungv48ftN2U4tPEHw40/xnAqRvJqeg6np
N7OQ1xMriOPRbmeMssaqFVBgMMMdwcn58b9pLw9qumC6OoaUst5G8lrDo1st06M/mRtA9xBHKUcP
CT5LcqCHwVkzXMWHxo0kvJPqVjcraSiF5bkzXenXBMMaxEySSGBCAVO1VG9lKnDcsadGld3im+ru
9d/Pz/q7CM5KNlJpaaP/ALe7+i+9dbt/ojpv7WGhWM8Fj8QvBHjf4fzTym2ivNc8NaumlPdJvMif
bTbhFiAV3W4c+WygKGLtz9C+HfHXhfxZbm58OeING1eIfK32DULe5eKQb90M6wzOYpV2NlG5+Uty
GBr8jrH9orwjenVxo914otFgjitbB4bm6nguXSeR9QVDfafcQm3jvP8Aj32/dg8uMSMnzVy/in4v
aDaxWKaD408T6j4zmuUu9L0jTobaGz/ta5JS0ju78taafbQyusMcrTXTLGmXdlVHY8sqEXdRlbVa
6vq11fl876u1m+iMpWV3fSP/ALf+fKr9++9/3BE7HbwMEgAgMQTk9CMjkDIzx15JHMnmH2/X/H/P
qa/J34f/ALTXjPwjPe2XinxNZ3s2n2FhqWspf3cB03Srq4keO50OW8aYNNPbBUne40
更新:如何对数据库进行编码
我正在使用php
编码并保存到blob
列中。图像作为图像的二进制内容保存在$row['image']
列中:
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
$blob = $row['Image'];
$id = $row['ID'];
$base64 = base64_encode($blob);
echo $base64;
$mysql = "UPDATE Images SET Image = '" . $base64 . "' WHERE ID = " . $id . ";";
$q = mysql_query($mysql);
}
我可以解码未格式化的base64字符串,但无法使用
BitmapFactory.decodeByteArray(imgData,0,imgData.length)获取位图图像代码>返回null
。您是否可能正在尝试解码不受支持的图像格式?你能详细说明原始文件元数据吗?这里也一样。要获得图像,我只需将图像
字段内容写入一个文件,并将.jpg
放在末尾。这是JPEG图像(image/JPEG)
@Markus-Aha,我必须将内容写入.jpg
中,然后将其转换为可绘制图像,然后将其转换为base64
,然后将其写回数据库。这是什么意思?为什么会发生这种情况?你能打开.jpg文件吗?我已经在android中解码了base64流,然后我将其保存到一个文件中,并将其从设备中拉到我的电脑上。然后我尝试在我的电脑上打开它,但它没有显示。可能源图像已损坏-我现在正在查找二进制图像的故障排除。