İçeriğe geç

Kodlayıcı / Çözücü

Base64, URL'ler ve HTML varlıklarını kodlayıp çözün, sayı tabanlarını dönüştürün.

Tarayıcınızda çalışır. Hiçbir şey yüklenmez.

Tarayıcınızda çalışır; hiçbir şey yüklenmez. Çıktı siz yazdıkça güncellenir.
veya buraya bir dosya bırakın. Dosya tarayıcınızda okunur ve asla yüklenmez.

Bu araç hakkında

Kodlayıcı / Çözücü, tek bir mod anahtarının arkasındaki dört dönüştürücüdür: Base64, yüzde kodlaması, HTML varlıkları ve sayı tabanları. Base64, metninizin UTF-8 baytlarını kodlar ve RFC 4648 bölüm 5'teki URL güvenli alfabeyi yazabilir (- ve _, dolgu atılır); çözücü ise her iki alfabeyi de kabul eder. Yüzde kodlaması, RFC 3986'nın ayrılmamış ve ayrılmış kümelerini uygulayan tarayıcı fonksiyonları encodeURIComponent ya da encodeURI'yi çağırır. Varlık modu, işaretlemede önemli olan beş karakteri - ve işareti, küçüktür, büyüktür, çift tırnak ve kesme işareti - kaçırır ve ek olarak ASCII dışı her karakteri sayısal bir referans olarak yazabilir. Taban dönüştürücü BigInt kullanır, böylece her boyuttaki bir değer 2, 8, 10, 16 ve 36 tabanları arasında yuvarlama olmadan dönüşür. Dönüştürür, korumaz - Base64 bir kodlamadır, şifreleme değildir ve burada varlık kaçırmak, sayfanızı üreten şablonda kaçırmanın yerini tutmaz. Yapıştırdığınız metin üzerinde çalışır: dosya yükleme yoktur ve hash almaz, imzalamaz, JWT çözmez.

Her mod, tarayıcınızda yapılan aritmetik ve dizgi işidir: UTF-8 için TextEncoder ve TextDecoder, Base64 için btoa ve atob, yüzde kodlaması için tarayıcının kendi encodeURIComponent, encodeURI ve decodeURIComponent fonksiyonları, taban dönüştürücü için de BigInt. Yapıştırdığınız hiçbir şey XGM API'sine gönderilmez, URL'ye yazılmaz ya da bu tarayıcıda kaydedilmez - adres yalnızca modu tutar, ?mode=url, ?mode=html veya ?mode=base olarak; Base64 ise parametre taşımayan varsayılandır. Çıktı siz yazdıkça güncellenir; kopyalama, indirme ve JSON dışa aktarımı zaten ekranda olandan üretilir. Bu sayfanın kendiliğinden yaptığı tek istek, analitiği kabul ettikten sonra gönderilen sayfa görüntüleme olayıdır; bu olay yolu ve araç adını kaydeder, girdinizi asla. Base64 çözme için seçilen karakter kümesi doğrudan tarayıcının kendi TextDecoder'ına verilir; bu yüzden ISO-8859 ve Windows-1252 yükleri de sayfanın içinde çözülür ve sonuç ikili olduğunda sunulan dosya, zaten ekranda bulunan bayt dizisinden oluşturulur.

Nasıl kullanılır

  1. Kodlayıcı / Çözücü aracını açın.
  2. İncelemek istediğiniz girdiyi yapıştırın veya yazın.
  3. Tarayıcınızda hesaplanan sonucu okuyun; girdi XGM'e gönderilmez.
  4. Çıktıyı yalnızca doğru göründüğünü kontrol ettikten sonra kopyalayın.
  5. Daha geniş bir teşhis görünümü gerekiyorsa ilgili XGM araçlarını kullanın.

SSS

Base64 girdim neden metin yerine onaltılık bir döküme çözüldü?

Girdi baytlara çözüldü, ancak bu baytlar geçerli UTF-8 değil; bu yüzden gösterilecek bir metin yok. Payload bir görsel, sıkıştırılmış bir blob, UTF-16 metin veya kesilmiş bir dize olduğunda böyle olur: sonuç bayt sayısını bildirir ve ilk 256 baytı onaltılık olarak yazdırır. Çözme bilerek katıdır - geçersiz dizileri sessizce U+FFFD ile değiştirmek, verinin metin olmadığı gerçeğini gizlerdi.

Base64url'i veya dolgusunu kaybetmiş Base64'ü çözebilir miyim?

Evet. Boşluklar ve satır sonları kaldırılır, - ve _ tekrar + ve / ile eşlenir ve eksik = dolgusu çözmeden önce geri konur; böylece RFC 4648 bölüm 4'ün standart alfabesi ile bölüm 5'in URL güvenli alfabesi aynı kutuda çalışır. Reddedilen tek uzunluk, dördün katından bir karakter fazla olanıdır ki geçerli hiçbir Base64 dizesi bu uzunlukta olamaz. Kodlama tarafında URL güvenli seçeneği - ve _ yazar ve dolguyu bırakır; JWT'lerin ve URL parametrelerinin beklediği de budur.

encodeURIComponent mı yoksa encodeURI mı kullanmalıyım?

Bir URL'nin tek bir parçası için - bir sorgu değeri, bir yol parçası - bileşen seçeneğini kullanın, çünkü bu seçenek aksi hâlde değerinizi erkenden bitirecek olan RFC 3986 ayrılmış karakterlerini : / ? # & = de kaçırır. Tüm URL seçeneğini yalnızca zaten birleştirilmiş bir adreste kullanın, çünkü bu seçenek o karakterleri bilerek olduğu gibi bırakır. Bir değeri tüm URL seçeneğiyle kodlamak klasik hatadır: içindeki bir & tek bir parametreyi sessizce ikiye böler. Çözme işlemi ikisinde de decodeURIComponent kullanır.

Çözme işlemi neden + işaretini boşluğa çeviriyor?

Çünkü “+ işaretini boşluk say” seçeneği açık ve bu seçenek, çözmeden önce + işaretini değiştiriyor. Yüzde kodlamasının kendisinde böyle bir kural yoktur - RFC 3986'da + gerçek bir artı işareti anlamına gelir - bu alışkanlık, HTML formları ve sorgu dizgilerinde kullanılan application/x-www-form-urlencoded serileştirmesinden gelir. Bir yolu, bir Base64 yükünü veya artı işaretinin gerçek veri olduğu herhangi bir şeyi çözerken seçeneği kapatın. Ardından iki hex basamağı gelmeyen bir % ya da geçerli UTF-8 olmayan bir kaçış, sorunlu parçasıyla birlikte bildirilir.

Çözücü gerçekte hangi HTML varlıklarını biliyor?

Ondalık (é) ve onaltılık (é) her sayısal referans ile yaygın adlandırılmış varlıklardan yaklaşık otuz tanesi: amp, lt, gt, quot, apos, nbsp, copy, reg, trade, tireler ve tırnak işaretleri, para birimi ve tipografi simgeleri. Diğer adlandırılmış varlıklar metinde tam yapıştırdığınız hâliyle bırakılır ve sonucun altındaki notta sayılır; böylece çözülmemiş bir ad kaybolmak yerine görünür olur. Kodlama ters yönde işaretlemede önemli olan beş karakterle çalışır, ' karakterini sayısal ' olarak yazar ve isteğe bağlı ASCII dışı geçiş, kalan her karakteri ondalık bir referansa çevirir.

Tam Kodlayıcı / Çözücü rehberini okuyun (İngilizce)