UltKit

JSON-u Base64-ə çevirmək

JSON faylını mühit dəyişənlərində, YAML sahələrində və API sorğularında problemsiz işləyən bir sətirlik Base64 mətninə çevirin. Bu yerlərdə dırnaqlar, fiqurlu mötərizələr və sətir keçidləri problem yarada bilər. Kodu açdıqda eyni baytları geri alırsınız.

Məlumat çevirici

və ya CSV, TSV, TXT … faylları bura sürüşdürün ·

Hər fayl üçün maks. 95 MB· 20 fayla qədər· 30 dəqiqədən sonra silinir

Nəticə

Fayllar serverlərimizdə emal olunur və 30 dəqiqədən sonra silinir.

Bu alətdən necə istifadə etməli

  1. 1

    JSON faylını yükləyin

    Xidmət hesabı açarı və ya konfiqurasiya kimi .json, .jsonl və ya .ndjson faylı əlavə edin. Bir dəstdə ən çox 20 fayl, hər biri 95 MB-dək ola bilər.

  2. 2

    Prefiksi seçin

    Adi Base64 seçilib. Mətn data: URL gözləyən HTML və ya CSS atributuna yerləşdiriləcəksə, yalnız onda Əlavə ayarlar bölməsindən Data URI prefiksi seçimini aktiv edin.

  3. 3

    Kodlayın və kopyalayın

    Base64 mətninə çevir düyməsini basın, nəticəni endirin və sətri gizli məlumat anbarınıza, manifestə və ya sorğunun gövdəsinə yapışdırın.

JSON-un Base64-ə kodlanması verilənləri dəyişmir; onları adi hərf və rəqəmlərlə yenidən paketləyir ki, fiqurlu mötərizələri, dırnaqları və sətir keçidlərini pozan yerlərdən keçə bilsin.

JSON faylını niyə Base64-ə kodlamaq lazımdır

Tipik hal etibarnamə faylıdır. Bulud provayderi xidmət hesabı açarını JSON faylı kimi verir, CI sisteminiz, hostinq paneliniz və ya konteyner platformanız isə sirlər üçün yalnız tək sətirlik mətn sahəsi təklif edir. Xam JSON-u yapışdırdıqda ilk sətir keçidində və ya ilk ekranlanmamış dırnaqda pozulur. Base64 ilə kodlanmış həmin açar isə tətbiqin işə düşəndə dekodlaşdırdığı bütöv sətirdir.

Base64-in özü e-poçtdan gəlir: 1996-cı ildə RFC 2045-də təyin olunan MIME onu qoşmaların yalnız 7 bitlik mətn daşıyan poçt serverlərindən keçməsi üçün istifadə edirdi. Əlifba sonralar, 2006-cı ildə RFC 4648-də ayrıca standartlaşdırıldı. Qiyməti ölçüdür, çünki hər 3 bayt 4 simvola çevrilir. Şəkillər və digər ikilik fayllar üçün Şəkli Base64-ə çevirmək eyni kodlaşdırmanı uyğun data URI ilə edir. Qəbul edən alət Base64 sahəsi yox, YAML oxuyursa, JSON-u YAML-a çevirmək kifayət edə bilər.

JSON-dan Base64-ə nümunə

Kompakt JSON {"env":"prod","retries":3} və onun Base64 kodlaşdırması
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Base64 ilə kodlanmış JSON harada tələb olunur

JSON-u yalnız Base64 kimi qəbul edən yerlər
TəşkilatTələbMənbə
Kubernetes Secretsdata altındakı hər dəyər Base64 olmalıdır; JSON açar faylını qoşmaq üçün əvvəlcə onu kodlayın.kubernetes.io
GitHub REST APIFayl məzmununu yaratma və ya yeniləmə endpoint-i faylı, o cümlədən .json faylını, content daxilində Base64 kimi gözləyir.docs.github.com
JSON Web Tokens (RFC 7519)JSON başlıq və iddialar ayrı-ayrılıqda base64url ilə kodlanır və nöqtələrlə birləşdirilir.—
E-poçt qoşmaları (MIME).json qoşması yalnız mətn qəbul edən poçt serverlərindən keçsin deyə Base64 ötürmə kodlaşdırması ilə göndərilir.—
Base64Base 64 kodlaşdırması · RFC 4648 kodlaşdırması
İstənilən baytları 64 təhlükəsiz simvolla yazmaq üsulu: A–Z, a–z, 0–9, + və /, tamamlayıcı kimi isə =. Hər 3 giriş baytı 4 çıxış simvoluna çevrilir, ona görə mətn fayldan təxminən üçdə bir uzun olur. Geri qaytarıla bilir və açar daşımır, yəni təhlükəsizlik tədbiri yox, ötürmə formatıdır.

JSON və Base64 formatları haqqında faktlar

JSON

JavaScript Object Notation

JSON strukturlaşdırılmış məlumatlar üçün yüngül mətn formatıdır, 2000-ci illərin əvvəlində Douglas Crockford tərəfindən məşhurlaşdırılıb və RFC 8259 və ECMA-404 kimi standartlaşdırılıb. O, obyektləri, massivləri, sətirləri, ədədləri, məntiqi dəyərləri və null-u sadə, oxunaqlı sintaksislə təqdim edir. Veb API-lər, konfiqurasiya faylları və demək olar ki, bütün proqramlaşdırma dillərində tətbiqlər arasında məlumat mübadiləsi üçün standart formatdır. İçində şərh, tarix və sxem yoxdur, böyük iç-içə fayllar isə görüntüləyicisiz çətin oxunur.

Sıxılma
–
Şəffaflıq
–
Animasiya
–
İlk dəfə təqdim edilib
2001 · Douglas Crockford
JSON konvertoru

BASE64

Base64 ilə kodlanmış mətn

Base64 RFC 4648-də müəyyən edilmiş kodlaşdırmadır və istənilən ikilik məlumatı 64 təhlükəsiz mətn simvolundan ibarət sətrə çevirir. Şəkilləri HTML və CSS-də data URI kimi yerləşdirmək, faylları e-poçta əlavə etmək və ikilik məlumatı JSON və ya XML-də göndərmək üçün istifadə olunur. Kodlaşdırma tam geri qaytarıla bilər, lakin məlumatı təxminən 33% böyüdür. Base64 şifrələmə deyil və heç bir təhlükəsizlik təmin etmir; hər kəs onu deşifrə edə bilər.

Sıxılma
İtkisiz
Şəffaflıq
–
Animasiya
–
İlk dəfə təqdim edilib
–
BASE64 konvertoru

JSON strukturlu verilənlər xam dırnaq və sətir keçidlərini qəbul etməyən tək sətirlik sahəyə yerləşməli olanda Base64-ə kodlanır: CI sirri, Kubernetes manifesti, API-nin content sahəsi və ya başlıq dəyəri.

JSON-dan Base64-ə: suallar

Base64 ilə kodlanmış JSON şifrələnmiş olurmu?

Xeyr. Base64 şifrələmə deyil, kodlaşdırmadır və hər kəs onu bir əmrlə aça bilər. Kubernetes sənədləri özü xəbərdarlıq edir ki, Secret-lər defolt olaraq yalnız Base64 ilə kodlanır və şifrələnmədən saxlanılır. Ona görə kodlanmış sətri orijinal açar kimi qoruyun.

Token və ya URL üçün Base64 lazımdır, yoxsa base64url?

Burada yazılan standart Base64 + və / simvollarından istifadə edir və = ilə tamamlanır. JWT və URL parametrləri isə RFC 4648-dəki base64url əlifbasından istifadə edir: - və _ işlənir, tamamlayıcı simvol çox vaxt atılır. Hədəf base64url tələb edirsə, həmin üç simvolu əvəz edin.

Kodlamadan əvvəl JSON-u kiçiltmək (minify) lazımdırmı?

Adətən bəli. Boşluqlar, girintilər və sətir keçidləri də digər baytlar kimidir, hər 3 bayt isə çıxışda 4 simvola çevrilir. Səliqəli formatlanmış konfiqurasiyanı əvvəlcə, məsələn, jq -c ilə sıxlaşdırsanız, kodlanmış sətir də qısalar.

Sətri yenidən JSON-a necə çevirmək olar?

macOS və ya Linux-da base64 --decode, PowerShell-də [Convert]::FromBase64String işlədin. Brauzerdə isə UTF-8 simvolları düzgün qayıtsın deyə atob nəticəsini TextDecoder-dən keçirin.

kubectl niyə illegal base64 data xətası verir?

Secret manifestində data altındakı dəyər bir sətirdə yazılmış düzgün Base64 olmalıdır. Bu xəta adətən yapışdırarkən sətir keçidinin düşməsi və ya data altına adi JSON qoyulması ilə bağlıdır. Adi dəyərlər stringData altına yazılır, Kubernetes onları özü kodlayır.

Kodlama JSON-un içində nəyisə dəyişirmi?

Xeyr. Base64 baytları itkisiz mətnə və geri çevirir, buna görə açarlar, dəyərlər, ştrixli hərflər və hətta faylın əvvəlindəki bayt sırası işarəsi (BOM) dekodlaşdırma zamanı olduğu kimi bərpa olunur.