在前端开发中,经常会涉及与后端之间的图片传输,通常情况下可以转码base64,来进行图片上传,也可以通过img标签的src属性展示base64编码格式储存的图片

base64 将 A-Z(ascii 65 – 90) 、a-z(ascii 97 – 122)、0-9(ascii 48 – 57)、+、/ 组成的有序数组作为标准的Base64协议规定

  • 生成base64数组
var base64Array = [];
for (var i = 65; i < 91; i++) {
base64Array.push(String.fromCharCode(i));
}
for (var i = 97; i < 123; i++) {
base64Array.push(String.fromCharCode(i));
}
for (var i = 48; i < 58; i++) {
base64Array.push(String.fromCharCode(i));
}
base64Array.push("+", "/");

一个英文字符占一个字节,一个字节由8位组成

将字符串按每三个字节分成若干组

将每组的24位按照每6位一组分成4组

每组6位,前两位用0补齐形成,4组每组8位,共32位

再将每组的8位2进制转换成10进制,在base64数组中找到对应的值输出

btoa:

function () {
    window.myBtoA = function (testString) {
        var base64Array = [];
        for (var i = 65; i < 91; i++) {
            base64Array.push(String.fromCharCode(i));
        }
        for (var i = 97; i < 123; i++) {
            base64Array.push(String.fromCharCode(i));
        }
        for (var i = 48; i < 58; i++) {
            base64Array.push(String.fromCharCode(i));
        }
        base64Array.push("+", "/");
        var bits = [];
        var newbits = [];
        for (var i = 0; i < testString.length; i++) {
            for (var j = 0; j < 8; j++) {
                bits.push(((testString[i].charCodeAt() >> (7 - j)) & 1));
            }
        }
        while (bits.length) {
            var bit = [0, 0, ...bits.splice(0, 6)];
            if (bit.length !== 8) {
                bit.push(...(new Array(8 - bit.length).fill(0)));
            }
            newbits.push(bit);
        }
        var result = "";
        for (var i of newbits) {
            result += (base64Array[parseInt(i.toString().replace(/,/g, ""), 2)]);
        }
        if (testString.length % 3 === 1) {
            result += "==";
        }
        if (testString.length % 3 === 2) {
            result += "=";
        }
        return result;
    };
})();

116 个评论

  1. I have been exploring for a little bit for any high-quality articles or weblog posts in this sort of house .
    Exploring in Yahoo I at last stumbled upon this web site.
    Reading this information So i’m happy to show that I’ve
    an incredibly just right uncanny feeling I discovered just what I needed.
    I so much unquestionably will make certain to don?t disregard this website and
    provides it a look on a relentless basis.

  2. Takipçi Alarak Fenomen yada İş hayatınızı büyütebilirsiniz
    Instagram’ da var olmak ve tanınmak için belli bir kitleye sahip olmaktan geçer. Bu kitleye sahip olmanın yolu öncelikle doğal şekilde ilerlemek olur. Kaliteli fotoğraf paylaşımı yanı sıra hesabın güncel tutulması ve hashtag kullanımı doğal şekilde büyümeyi sağlar ayrıca Instagram takipçi satın hizmeti ile de hesap, geniş kitlelerce tanınmaya başlar.
    Takipçi satın alma işlemi kısa olduğu kadar güvenilir bir yöntem olup hesabı, hedef kitleye ulaştırır. Hesapta paylaşılan gönderiler bu sayede Instagram keşfet’e de düşer. Bu alanda görülen her hesap, daha fazla takipçi elde etme imkânı bulur.
    Takipçi Satın Al

  3. Neden Takipçi Satın Alınır?

    Instagram platformunda popüler olabilmenin gerekli adımlarından olan Instagram takipçi satın al, son zamanların en çok rağbet gören yöntemlerinden biri olur. Belirli bir kitle sahibi olmak için uygulanan bu adım sonrasında hesaptaki takipçi sayısı, diğer Instagram kullanıcılarının gelmesini sağlar. Takipçi sayısının yüksek olması diğer kullanıcılara güven verir ve hesabın ilerlemesini sağlar
    Instagram üzerinden belli bir kitleye sahip olmak daha fazla insannda gelmesini sağladığı gibi zaman içinde reklam ve sponsorluk anlaşmaları da gelir ve böylece para kazanmaya başlanılır. İşletme hesapları için de ürün ve h,izmet satışının artması en büyük avantaj olur. Bu neden ile hem güvenilir hem zahmetsiz bir yol olan takipçi sayısı artırma işlemleri yapılır.

    Takipçi SATIN AL

  4. İnstagram Takipçi Satın Alınabilir Kaliteli Site!

    İnstagram hesaplarınızın aktif ve yükselen bir takipçi grubuna haiz olması için son yıllarda takipçi satın alma işlemi yapılıyor. Bu işlem sayesinde takipçi rakamlarınızın artması olası oluyor.
    Hesabınızın tercih edilme olasılığını arttırmak için instagram takipçi satın almak en kolay yol olduğunu hepimiz biliyoruz.

    aktif bir hesap sahibi olmak için bu kolay seçeneklerden yararlanabilirsiniz.
    Hesaplarınızla ses getirmek istiyor ve size özel bir hesap özelliği kazandırmak için instagram takipçi satın almak ve beğeni sayılarına da özen işaret etmek örutubet taşır. Takipçi satın alma ve gönderme hizmetleri arasında şifresiz takipçi alma işlemi de bulunuyor.

    İnstagram takipçi satma sayfaları genellikle otomasyon sistemine dayalı bir halde çalışır. Tek yapmanız gereken sitemize giderek size uygun paketi seçmek olacaktır…
    Başlatmış olduğunuzda takipçileriniz hesaba gelmeye başlar. bu şekilde takipçileriniz yavaş yavaş profilinizde görünmeye adım atar.
    Siz de hizmetimizden memnun kalmış olduğunız için daha da güvenle yapabilirsiniz. Bu da en hızlı şekilde takipçi satışı gerçekleştiren platform olduğumuzu destekler.

    instagram takipçi satın al

  5. I would like to thank you for the efforts you’ve put in penning this blog. I really hope to check out the same high-grade blog posts from you in the future as well. In truth, your creative writing abilities has encouraged me to get my very own blog now 😉

  6. Instagram Takipçi Satın Almak Sizleri En iyisi yapar

    Takipçi sayısı ne kadar yüksek olur ise hesaptan yapılan fotoğraf ya da video paylaşımları o denli anlam bulur.
    Bu neden ile takipçi satın alımı önemsenir ve pek çok hesap tarafından uygulanır.
    Hesabın kaliteli gözükmesi ve doğal şekilde büyümesi için Türk takipçi işlemi önem kazanır. Kaliteli türk takipçi satın alabilmek için
    takip2018 den takipçi alabilirsiniz.
    instagram takipçi Satın al

  7. HC Hyaluronic Acid Serum, dolgunluğunu ve esnekliğini kaybetmiş yorgun görünümlü ciltler için özel olarak geliştirilmiştir. Farklı moleküler boyutlara sahip özel karışımlı saf Hyaluronik Asit, Yeniden Diriliş Bitkisi (Glyceryl Glucoside), Pentavitin (Saccharide Isomerate) ve Anadenanthera Colubrina Bark Extract içeren formülü, cildin sıkı bir görünüm kazanmasına ve ince çizgilerin görünümünü düzenlemeye yardımcı olur.

    Hyaluronik asit doğada ”Nem Mıknatısı” olarak da bilinir. Kendi büyüklüğünün 5000 katı kadar su tutar ve cildin ihtiyacı olan nemi sağlayarak gün boyu nemli kalmasını sağlar.

    HC Hyaluronic Acid Serum içeriğinde; cildin yüzeyinden ilk katmanına çok daha kolay nüfus edebilmesi için gözenek boyutundan çok daha küçük formda özel moleküllü Hyaluronik Asit kullanılmış ve bu sayede etkisi maksimum oranda arttırılmıştır.

    HC Hyaluronic Acid Serumunu atopik kuruluk yaşayan ciltlerde, kırışıklık önlemeye yardımcı olarak ve anti-aging serum olarak kullanabilirsiniz.

    Hyaluronic Acid Serum

  8. SAÇ BAKIM

    SAÇ DÖKÜLMESİNE KARŞI GÜÇLÜ VE ETKİN BAKIM
    Saç dökülmesi ile mücadele bazen zorlu bir maratona dönüşebilir. Bu maratona HC Doping ile bir adım önde başlayın…
    Bitiş çizgisine geldiğinizde saçlarınızdaki değişimi ve ne kadar güçlendiğini hissedeceksiniz… Üstelik hergün sadece 2 dakikanızı ayırarak.
    HC Doping’in procapil, follicusan, bitki özleri ve vitaminler içeren formülü, saçlarına ihtiyaç duyduğu desteği kazandırmak isteyen her yaş aralığındaki kadın ve erkek için uygundur.

    HC Doping’in formülünde, saçlarınızın ihtiyacı olan doğadaki yararlı bileşenler mevcuttur.
    Ayrıca bir başka ürün kullanmanızı gerektirmeyecek ölçüde zengin içeriği, saçınız için uygun oranlarda formülize edilmiştir.
    Birçok saç bakım ürünün aksine HC Doping oldukça kolay bir kullanıma sahiptir. Saçta kalıntı veya kötü koku bırakmaz.
    Uyguladıktan sonra durulamaya veya yıkamaya gerek yoktur.

    saç bakım

  9. Howdy exceptional website! Does running a blog such as this take a great deal of work? I have absolutely no understanding of programming but I had been hoping to start my own blog soon. Anyhow, if you have any suggestions or techniques for new blog owners please share. I understand this is off topic however I just wanted to ask. Appreciate it!

  10. Today, I went to the beach front with my children. I found a sea shell and gave it to my 4 year old daughter and said “You can hear the ocean if you put this to your ear.” She placed the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear. She never wants to go back! LoL I know this is totally off topic but I had to tell someone!

  11. Instagram Takipçi Satın Almak

    En Güvenilir takipçi sitesi olan
    instagram takipçi satın al dan takipçi satın alarak profilinizi eşsiz benzersiz bir görünüm sağlayarak pandemi günlerinde para kazanabilirsiniz. Üstelik ucuz fiyatlara en kaliteli takipçi alınabilir tek adres.

  12. Takiрçi satın аl hizmeti Türk gerçek takipçi sistemini sunan ve aѕıl kullanıcı hizmetine de iуe olan bir sistemdir.
    Farklı amaçlara іş edebilecek kullanımlar göre ayrı paketler ve hizmetler hаzırlаmış olan şehir ayrımlı filtreleme sistemlerine de malik оlduğu görе dikkаt çeker. isterseniz ѕadece kadınlara isterseniz de yalnızca erkeklere hitаp eden yada tamamı karışık içerikleriniz yoluna nişаngâh odaklı takіpçі satın alabіleceksіnіz.
    Bu dа şahısѕel hesabınızı veya şirkеt hesabınızı henüz kolaуca güçlendirmeye уaraуacak mühim özelliklerden biri olacaktır.
    Filtrelenmiş takipçi seçeneği sayеsindе siz okunuşu Takipçi Satın Al firmasını karın rahatlığı ile kullanabilirsiniz. takipçi satın alma işlemi hizmeti Türk real takipçi sistemini sunan ve aѕıl kullanıcı hizmetine de iуe olan bir sistemdir. Farklı amaçlara іş edebilecek kullanımlar göre ayrı paketler ve hizmetler hаzırlаmış olan şehir ayrımlı filtreleme sistemlerine de malik оlduğu görе dikkаt çeker. Buna bakarak cinsellik filtrelemesi yaрabilecek, isterseniz ѕadece kadınlara dilerseniz de yalnızca erkeklere hitаp eden içerikleriniz yoluna nişаngâh odaklı takіpçі satın alabіleceksіnіz. Bu dа şahısѕel hesabınızı veya şirkеt hesabınızı henüz kolaуca güçlendirmeye уaraуacak önemli özelliklerden biri olacaktır. Filtrelenmiş takipçi seçeneği sayеsindе siz okunuşu Takipçi Satın Al şirketinı kullanmaktan çekinmeyiniz tAKiPÇİ satın al

  13. Greetings from Colorado! I’m bored at work so I decided to check out your site on my iphone during lunch break. I enjoy the information you provide here and can’t wait to take a look when I get home. I’m amazed at how fast your blog loaded on my phone .. I’m not even using WIFI, just 3G .. Anyhow, very good blog!

  14. HC Retinol Serum: Bir A vitamini formu olan Retinol, ince çizgilerin ve yaşlanma belirtilerinin görünümünü azalttığı klinik olarak kanıtlanmış güçlü bir aktiftir.

    Retinol aynı zamanda leke oluşumuna ve ciltteki ton eşitsizliklerine karşı mücadele eder. Canlı, taze ve daha genç bir cilt görünümü kazandırmaya yardımcı olur.

    HC Retinol Serum’un, en ileri düzeyde konsantre edilmiş saf Hyaluronik Asit, Pentavitin (Saccharide Isomerate), Anadenanthera Colubrina Bark Extract ve Bisabolol ile güçlendirilmiş aktif içeriği, güçlü nemlendirici ve canlandırıcı özelliği sayesinde cildi sıkılaştırmaya yardımcı olur.

    HC Retinol Serum akneli ve yağlı ciltlerde, lekelerde ve ciltte oluşan A Vitamini eksikliğinde kullanılır.

    Bu tür ciltlerde daha iyi bir etki alınabilmesi için HC Çay Ağacı (Tea Tree) Temizleme Jeli ile birlikte kullanılması tavsiye edilir.

    Retinol SeruM

  15. Instagram’da bir hesabın takipçi sayısı, o hesabın prestiji açısından çok önemlidir. Bundan dolayı, hesabını büyütmek isteyenler, öncelikle takipçi satın almaktadır. Fazla takipçi sayısı olan hesaplar, daha fazla dikkat çeker ve daha fazla kişiye ulaşırlar.

    instagram takipçi satın al

  16. When I originally commented I appear to have clicked the -Notify me when new comments are added- checkbox and from now on each time a comment is added I receive 4 emails with the exact same comment. Perhaps there is a way you can remove me from that service? Thanks!

  17. I’d like to thank you for the efforts you’ve put in penning this blog. I am hoping to view the same high-grade content from you in the future as well. In fact, your creative writing abilities has inspired me to get my own, personal blog now 😉

  18. Yılların verdiği deneyimiyle ALC Antalya Böcek İlaçlama, evinize veya işletmenize yerleşen böcek ve kemirgenleri, garantili çözüm yöntemleri ile defeder. Müşteri odaklı memnuniyet için hizmet veren ALC, yüksek standartlarda hizmet sunar. Arayın, evinizdeki veya işyerinizdeki haşere kabusu son bulsun!
    Antalya böcek ilaçlama

  19. Takip2018 ile instagram takipçi satın alarak diğer fenomenler gibi takipçi sayını arttırarak sende onların arasına girebilirsin.
    İnstagram takipçi almak için hemen siteye gidebilir sana uygun paketi seçerek instagram takipçi satın alabilirsiniz
    2018 yılından bu yana güvenilir adres:
    İnstagram Takipçi Satın AL

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注