Base64-dən Şəkilə

2 reytinqdən 5

Base64-dən Şəkilə Base64 ilə kodlaşdırılmış şəkil məlumatlarını yenidən şəkilə çevirən pulsuz alətdir.

Base64 şəkli necə ifadə edir?

Base64 şəklin ikilik baytlarını məhdud sayda çap oluna bilən mətn simvollarına çevirir. Bəzi sistemlər xam ikilik məlumat deyil, mətn daşımaq üçün nəzərdə tutulub. Baytların kodlaşdırılması onları e-poçt, JSON, HTML və digər mətn əsaslı formatlarda yerləşdirməyi asanlaşdırır.

Standart Base64 əlifbasında böyük və kiçik hərflər, rəqəmlər, üstəgəl işarəsi və düz xətt işarəsi istifadə olunur. Sonda doldurma işarəsi kimi bərabərlik işarəsi ola bilər. Adətən hər üç giriş baytı dörd Base64 simvoluna çevrilir. Buna görə kodlaşdırılmış məlumat orijinaldan təxminən üçdə bir qədər böyük olur.

Kiçik mətn nümunəsi prosesin necə işlədiyini aydın göstərir:

  • Mətn kimi şərh edilən orijinal baytlar: Man
  • Base64 nəticəsi: TWFu

Şəkil də eyni qaydada emal olunur. Fərq ondadır ki, orijinal baytlar oxunaqlı mətni deyil, PNG, JPEG, GIF, WebP və ya başqa şəkil formatını təsvir edir. Xam Base64 məlumatının özündə şəkil növü göstərilmir. Bu məlumat data URL daxilində verilə və ya dekodlaşdırılmış faylın imzasından müəyyən edilə bilər.

Base64 məlumatını yenidən şəkilə necə çevirə bilərəm?

Base64 şəkil məlumatını alətə yapışdırıb çevirmə üçün göndər. Nəticədə şəkil əldə edəcəksən. Əvvəlcə dəyərin xam Base64, yoxsa tam data URL olduğunu yoxla.

  1. Kodlaşdırılmış dəyəri tap və JSON, CSS və ya mənbə kodundakı ətraf dırnaq işarələri olmadan köçür.
  2. data:image/png;base64, kimi data URL prefiksinin olub-olmadığını yoxla. Base64 məlumatının özü vergüldən sonra başlayır.
  3. Tam data URL qəbul edilmirsə, prefiksi sil və yalnız kodlaşdırılmış məlumatı göndər. Dekoderlərin bu örtüyü qəbul edib-etməməsi fərqlənir.
  4. Əldə olunan şəkli başqa yerdə istifadə etməzdən əvvəl məzmununun, ölçülərinin və formatının gözlənilən nəticəyə uyğun olduğunu yoxla.

E-poçt proqramı uzun Base64 dəyərini sətirlərə böldükdə boşluqlar və sətirsonları yarana bilər. Bəzi dekoderlər bu boşluqları nəzərə almır, daha sərt olanlar isə məlumatı rədd edir. Base64 məlumatına durğu işarəsi və ya izahlı mətn əlavə etmə. Rəqəmlər etibarlı Base64 simvollarıdır, lakin yalnız etibarlı simvollardan ibarət məlumatın şəkil olması vacib deyil.

Boş Base64 dəyəri heç bir baytı ifadə etmir, buna görə ondan istifadəyə yararlı şəkil almaq mümkün deyil. Base64 orijinal məlumatın həcmini artırdığı üçün çox uzun dəyərlər də böyük olur. Onların emalı üçün kodlaşdırılmış məlumatın tam şəkildə ötürülməsi və dekodlaşdırılması tələb edilir.

Base64 şəklim niyə dekodlaşdırılmır?

Base64 şəklinin dekodlaşdırılmamasına adətən məlumatın səhv qurulması və ya natamam olması, yanlış əlifbadan istifadə edilməsi, yaxud tərkibində şəkil baytlarının olmaması səbəb olur. Mənbə məlumatı bir neçə dəfə kodlaşdırıbsa, ikiqat kodlaşdırma da buna səbəb ola bilər. Xətanın harada və necə baş verməsi səbəbi müəyyənləşdirməyə kömək edə bilər.

  • Kəsilmiş giriş. Jurnallardan, verilənlər bazası görüntüləyicilərindən və ya mesajlaşma sistemlərindən köçürmə zamanı uzun dəyərin son hissəsi kəsilə bilər. Çatışmayan simvollar adətən dekodlaşdırılmış baytların natamam olmasına gətirib çıxarır.
  • Yanlış variant və ya əlifba. Standart Base64 + və / simvollarından, Base64url isə adətən - və _ simvollarından istifadə edir. Başqa variant gözləyən dekoder girişi rədd edə bilər.
  • Çatışmayan doldurma işarələri. Base64 dəyərlərinin sonunda bir və ya iki bərabərlik işarəsi ola bilər. Bəzi sistemlər bu işarələri buraxır, bəzi dekoderlər isə onları bərpa edir. Sərt tətbiqlər doldurma işarələrinin olmasını tələb edə bilər.
  • Şəkil olmayan ikilik məlumat. Base64 PDF, arxiv, şrift və ya istənilən başqa baytları ifadə edə bilər. Buna görə etibarlı Base64 məlumatının etibarlı şəkil olması vacib deyil.
  • Mətn kodlaşdırması ilə bağlı qarışıqlıq. Diakritik işarəli hərflər, emojilər və latın əlifbasına aid olmayan simvollar Base64 əlifbasına daxil deyil. Belə simvollar Base64 ilə kodlaşdırılmazdan əvvəl, adətən UTF-8 vasitəsilə baytlarla ifadə olunmalıdır.
  • İkiqat kodlaşdırma. İlk dekodlaşdırmadan sonra yalnız Base64 simvollarından ibarət başqa uzun məlumat alınırsa, mənbə iki dəfə kodlaşdırılmış ola bilər. Aralıq dəyəri yalnız mənşəyi bunun gözlənilən hal olduğunu təsdiqləyirsə, bir dəfə də dekodlaşdır.

Ümumi Base64 dekoderi anlaşılmaz nəticə verirsə, bu, dekodlaşdırmanın mütləq uğursuz olduğu demək deyil. Şəkil baytları ikilik məlumatdır və mətn kimi oxunaqlı görünməməlidir. Şəkil olmayan məlumatı yoxlamaq üçün Base64 dekoderindən, əks əməliyyatı yerinə yetirmək üçün isə Şəkili Base64-ə çevirin alətindən istifadə et.

Base64 şəkil məlumatı harada istifadə olunur?

Base64 şəkil məlumatı ikilik faylların mətn üçün nəzərdə tutulmuş sahə və ya sənəd vasitəsilə ötürülməli olduğu yerlərdə istifadə edilir. HTML və ya CSS data URL-lərinə yerləşdirilmiş şəkillər, JSON API məlumatlarındakı şəkil xüsusiyyətləri və MIME e-poçt hissələri geniş yayılmış nümunələrdir.

Base64 sorğu sətirlərində də ola bilər. Tətbiqin sorğu emalçıları standart Base64 simvollarını bəzən yanlış şərh edir. Xüsusən forma tipli emalçılar üstəgəl işarələrini boşluq, bərabərlik işarələrini isə ayırıcı kimi qəbul edə bilər. Base64url problem yaradan əlifba simvollarını əvəz edir və çox vaxt doldurma işarələrini buraxır. Bu da onu URL-lər və tokenlər üçün daha uyğun edir.

Beynəlmiləlləşdirilmiş domen adlarında Base64 istifadə edilmir. IDNA sistemində ASCII etiketləri dəyişməz qalır, ASCII olmayan U-label etiketləri isə Punycode vasitəsilə A-label kimi ifadə oluna bilər. Base64 dəyəri URL-in başqa hissəsində, məsələn, sorğu sətrində ola bilər. Brauzerin ünvan sətrindən köçürülmüş dəyərdəki problemi araşdırarkən bu fərq vacibdir.

JSON-un öz ikilik məlumat növü yoxdur. Buna görə API-lər bəzən Base64 şəkil məzmununu dırnaq içində sətir kimi yerləşdirir. Bu, mətn əsaslı məlumat mübadiləsi üçün rahatdır, lakin ötürülən məlumatın həcmini artırır. Böyük və ya tez-tez edilən yükləmələr üçün adi ikilik fayl yükləməsi çox vaxt daha münasibdir.

Base64 kodlaşdırması, məxfilik və serverdə emal

Base64 şifrələmə deyil, kodlaşdırmadır və heç bir məxfilik təmin etmir. Dəyəri əldə edən hər kəs onu parol və ya açar olmadan dekodlaşdıra bilər. Buna görə giriş məlumatlarını, şəxsi fotoşəkilləri və məxfi sənədləri yalnız Base64-ə çevirməklə qorumaq olmaz.

Bu alətdə emal serverdə aparılır. Daxil etdiyin məlumat HTTPS üzərindən serverə göndərilir və saxlanmır. HTTPS ötürülmə zamanı bağlantını qoruyur, lakin Base64 dəyərini şifrələnmiş məzmuna çevirmir və etibar edilməyən mənbəni təhlükəsiz etmir.

Dekodlaşdırma şəklin zərərsiz olub-olmadığını da yoxlamır. Naməlum göndərəndən alınmış Base64 dəyərindən dekodlaşdırılan şəkillərlə digər endirilmiş şəkillər qədər ehtiyatlı davran.

Tez-tez verilən suallar

Xam Base64 məlumatından şəkil formatını müəyyən etmək olar?

Bəzən olar, lakin təkcə Base64 əlifbası formatı göstərmir. Dekodlaşdırılmış fayllarda proqramların PNG, JPEG və GIF kimi formatları ayırd etməsinə imkan verən, çox vaxt sehrli baytlar adlandırılan imzalar olur. Data URL daxilində media növü də göstərilə bilər. Ancaq bu etiket yanlış ola bilər və faktiki baytlardan üstün tutulmamalıdır.

Base64 dekodlaşdırması şəklin keyfiyyətini azaldır?

Xeyr. Düzgün Base64 dekodlaşdırması orijinal baytları bərpa edir və şəkli yenidən sıxmır. Sonradan başqa proqram dekodlaşdırılmış faylı redaktə və ya başqa formata çevirmədiyi müddətdə şəkil keyfiyyəti, rəng məlumatları və daxili metaməlumatlar dəyişməz qalır.

Base64 daxilində SVG şəkli ola bilər?

Bəli, SVG məlumatı Base64 ilə kodlaşdırıla bilər, lakin onun göstərilməsi qəbul edən proqramın dəstəyindən asılıdır. SVG XML əsaslı formatdır və skriptlər, keçidlər və ya xarici istinadlar saxlaya bilər. Buna görə naməlum mənbədən gələn Base64 ilə kodlaşdırılmış SVG faylını açmağın təhlükəsiz olduğunu düşünmə.

Base64 şəkli niyə orijinal fayldan böyükdür?

Base64 mənbə məlumatındakı hər üç bayt üçün dörd mətn simvolu yaradır və son blokda doldurma işarələri ola bilər. RFC 4648, istinad edən spesifikasiya onların buraxılmasına açıq şəkildə icazə vermədiyi halda, doldurma işarələrinin olmasını tələb edir. Buna görə data URL prefiksi, JSON dırnaqları və ya ötürmə xərcləri əlavə edilməzdən əvvəl nəticə orijinaldan təxminən üçdə bir qədər böyük olur. Sistem adi fayl yükləməsini qəbul edirsə, orijinal ikilik şəklin göndərilməsi adətən daha az məlumat sərf edir.

Oxşar alətlər

Şəkili Base64-ə çevirin

Şəkil girişini Base64 sətirinə çevirin.

4,484
9

Populyar alətlər