2016-04-01 5 views
-1

200Kb jpg'im var ve bunu bir base64 dizesine dönüştürmek istiyorum.Bir görüntü boyutu ve onun base64 dizesi dönüşümünün uzunluğu arasındaki oran nedir?

ne zamandır base64 dize yaklaşık olacak? Sadece maksimum uzunluğu dizeleri 65.000 karakterdir sağlayan bir "kap" içinde base64 dize olarak bu görüntüyü saklamak istediğinizi çünkü

soruyorum nedenidir.

Ben Chrome'un konsolunu kullanarak kendim için öğrenmek için çalıştı ama tarayıcı nedeniyle kısa sürede bir değişken ve do atamak gibi dize oluşturulan base64 uzunluğuna kadar donma tutar:

x = 'base64.....'; // ridiculously long string 
x.length; 
+0

200kb 200000 "karakterler" olduğunu 65000. Ortak anlamda daha fazla 3 kat daha uzun base64 temsil muhtemelen orijinal dosya göre 3 kat daha küçük olamaz söylemelisin. Othewise, dünyanın en iyi sıkıştırma algoritmasıdır ve her şey için kullanırız. – JJJ

+1

base64 kodlaması, bitlerin nasıl paketleneceğinden dolayı yaklaşık 4/3'dür. Yani bir 200Kb jpg, 64 kodlu formunda yaklaşık 266Kb olacaktır. –

+1

Oku Bu http://stackoverflow.com/questions/4715415/base64-what-is-the-worst-possible-increase-in-space-usage ve bu http://stackoverflow.com/questions/11402329/base64- kodlanmış-görüntü boyutu – Lewis

cevap

1

Daha önce yorumlarda belirtildiği gibi, verilerin nasıl paketlendiğine bağlı olarak kesin bir sayı vermenin bir yolu yoktur. Bununla birlikte, kaynak dosyadan daha büyük olacaktır. Bir top parkı figürü yaklaşık 270 000 karakterdir.

Bunu denetlemek için kolay bir yol dizesi yaklaşık boyutu gerçekleşir genişleme nedeniyle orijinal boyutunun% 135 olacak şekilde https://www.base64-image.de/

+0

Mükemmel, Emil'i tanımak için gereken her şey bu! Sadece oranla ilgileniyordum. Bir yorumun ortak bilgi kavramını, edinilen bilgi kavramıyla nasıl karıştırdığı komiktir. –

1

gibi çevrimiçi bir dönüştürme hizmetlerinde birkaç resim yüklemek için ise (göre uuencode'un NetBSD manpage'ine). N baytları kodlamak için 4 * ceil (n/3) bayt ve ek satır sonları gerekir.

İlgili konular