UltKit

Badilisha JSON kuwa Base64

Geuza faili ya JSON kuwa mstari mmoja wa maandishi ya Base64 unaostahimili vigeu vya mazingira, sehemu za YAML na miili ya API, ambako alama za nukuu, mabano na mikato ya mistari yangeleta matatizo. Ukiusimbua, unapata tena baiti zilezile kamili.

Kibadilishaji cha Data

au buruta Faili za CSV, TSV, TXT … hapa ·

Hadi MB 95 kwa faili· Hadi faili 20· Hufutwa baada ya dakika 30

Matokeo

Faili huchakatwa kwenye seva zetu na kufutwa baada ya dakika 30.

Jinsi ya kutumia zana hii

  1. 1

    Pakia faili ya JSON

    Ongeza faili ya .json, .jsonl au .ndjson, kama vile ufunguo wa akaunti ya huduma au faili ya usanidi. Hadi faili 20 kwa kundi, kila moja MB 95.

  2. 2

    Amua kuhusu kiambishi awali

    Base64 ya kawaida imechaguliwa. Washa Kiambishi cha Data URI chini ya Mipangilio ya hali ya juu ikiwa tu maandishi yanaingia kwenye sifa ya HTML au CSS inayotarajia URL ya data:.

  3. 3

    Simba na unakili

    Bonyeza Badilisha kuwa Base64 text, pakua matokeo kisha bandika mfuatano huo kwenye hifadhi yako ya siri, manifesti au mwili wa ombi.

Kusimba JSON kuwa Base64 hakubadilishi data; huipakia upya kama herufi na tarakimu za kawaida ili iweze kupita sehemu ambazo zingeharibu mabano, nukuu na mistari mipya.

Kwa nini usimbe faili ya JSON kuwa Base64

Kisa cha kawaida ni faili ya vitambulisho. Mtoa huduma wa wingu hukupa ufunguo wa akaunti ya huduma kama faili ya JSON, na mfumo wako wa CI, dashibodi ya mwenyeji au jukwaa la kontena hutoa sehemu ya maandishi ya mstari mmoja tu kwa siri. Kubandika JSON ghafi hushindwa kwenye mstari mpya wa kwanza au nukuu ya kwanza isiyokwepwa. Ikisimbwa kuwa Base64, ufunguo huo ni mfuatano mmoja usiokatika ambao programu huusimbua wakati wa kuanza.

Base64 yenyewe ilianzia kwenye barua pepe: MIME, iliyofafanuliwa katika RFC 2045 mwaka 1996, iliitumia ili viambatisho vipite seva za barua zilizobeba maandishi ya biti 7 tu. Alfabeti hiyo ilisanifishwa baadaye peke yake katika RFC 4648 mwaka 2006. Gharama ni ukubwa, kwani kila baiti 3 huwa herufi 4. Kwa picha na faili nyingine za jozi, Picha kuwa Base64 hufanya usimbaji huo huo pamoja na data URI inayolingana. Ikiwa zana inayopokea inasoma YAML badala ya sehemu ya Base64, JSON kuwa YAML huenda ikatosha.

Mfano wa JSON kuwa Base64

JSON iliyobanwa {"env":"prod","retries":3} na usimbaji wake wa Base64
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Mahali ambapo JSON iliyosimbwa kwa Base64 inahitajika

Mahali panapokubali JSON kwa Base64 pekee
ShirikaShartiChanzo
Kubernetes SecretsKila thamani chini ya data lazima iwe Base64; ili kuweka faili ya ufunguo wa JSON, isimbe kwanza.kubernetes.io
GitHub REST APIEndpoint ya kuunda au kusasisha yaliyomo ya faili inatarajia faili, ikiwemo faili ya .json, kama Base64 ndani ya content.docs.github.com
JSON Web Tokens (RFC 7519)Kichwa cha JSON na madai husimbwa kila kimoja kwa base64url na kuunganishwa kwa nukta.—
Viambatisho vya barua pepe (MIME)Kiambatisho cha .json hutumwa kwa usimbaji wa uhamishaji wa Base64 ili kipite seva za barua za maandishi tu.—
Base64Usimbaji wa Base 64 · Usimbaji wa RFC 4648
Njia ya kuandika baiti zozote kwa herufi 64 salama: A–Z, a–z, 0–9, + na /, na = kama ujazo. Kila kundi la baiti 3 za kuingiza huwa herufi 4 za kutoka, kwa hivyo maandishi huwa marefu kwa takriban theluthi kuliko faili. Inaweza kurudishwa na haina ufunguo, hivyo ni muundo wa usafirishaji, si hatua ya usalama.

Ukweli kuhusu miundo ya JSON na Base64

JSON

JavaScript Object Notation

JSON ni umbizo jepesi la maandishi kwa data iliyopangwa, lililoenezwa na Douglas Crockford mwanzoni mwa miaka ya 2000 na kusanifishwa kama RFC 8259 na ECMA-404. Linawakilisha vitu, safu, maandishi, namba, thamani za kweli/si kweli na null kwa sintaksia rahisi inayosomeka. Ni umbizo chaguomsingi la API za wavuti, faili za usanidi na ubadilishanaji wa data kati ya programu katika karibu kila lugha ya programu. Halina maoni, tarehe wala michoro ya muundo ndani yake, na faili kubwa zenye viwango vingi ni vigumu kusoma bila kitazamaji.

Ubanaji
–
Uwazi
–
Uhuishaji
–
Mwaka ulioanzishwa
2001 · Douglas Crockford
Kigeuzi cha JSON

BASE64

Maandishi yaliyosimbwa kwa Base64

Base64 ni usimbaji, uliofafanuliwa katika RFC 4648, unaogeuza data yoyote ya binary kuwa mfuatano wa herufi 64 salama za maandishi. Hutumiwa kupachika picha katika HTML na CSS kama data URI, kuambatisha faili kwenye barua pepe, na kutuma data ya binary ndani ya JSON au XML. Usimbaji unaweza kurudishwa kikamilifu lakini hufanya data kuwa kubwa kwa takriban 33%. Base64 si usimbaji fiche wa usalama na haitoi ulinzi wowote; yeyote anaweza kuisimbua.

Ubanaji
Bila upotevu
Uwazi
–
Uhuishaji
–
Mwaka ulioanzishwa
–
Kigeuzi cha BASE64

JSON husimbwa kuwa Base64 wakati data iliyopangwa lazima ipitie ndani ya sehemu moja ya maandishi isiyokubali nukuu na mistari mipya ghafi: siri ya CI, manifesti ya Kubernetes, sehemu ya content ya API au thamani ya kichwa.

Maswali kuhusu JSON kuwa Base64

Je, JSON iliyosimbwa kwa Base64 imesimbwa kwa siri?

Hapana. Base64 ni usimbaji tu, na mtu yeyote anaweza kuusimbua kwa amri moja. Nyaraka za Kubernetes zenyewe zinaonya kwamba Secrets husimbwa kwa Base64 tu na huhifadhiwa bila usimbfiche kwa chaguo-msingi, kwa hivyo linda mfuatano uliosimbwa kama unavyolinda ufunguo asili.

Je, ninahitaji Base64 au base64url kwa tokeni au URL?

Base64 ya kawaida, kama inavyoandikwa hapa, hutumia + na / na hujaza kwa =. JWT na vigezo vya URL hutumia alfabeti ya base64url kutoka RFC 4648, inayobadilisha na - na _ na mara nyingi huondoa ujazo. Badilisha herufi hizo tatu ikiwa lengo lako linatarajia base64url.

Je, nibane JSON (minify) kabla ya kuisimba?

Kwa kawaida ndiyo. Nafasi, mpangilio wa ndani na mistari mipya ni baiti kama nyingine, na kila baiti 3 huwa herufi 4 za matokeo. Kubana usanidi uliopangwa vizuri kwanza, kwa mfano kwa jq -c, hufupisha mfuatano uliosimbwa ipasavyo.

Ninawezaje kusimbua mfuatano kurudi kuwa JSON?

Kwenye macOS au Linux endesha base64 --decode, kwenye PowerShell tumia [Convert]::FromBase64String, na kwenye kivinjari pitisha matokeo ya atob kupitia TextDecoder ili herufi za UTF-8 zirudi sawasawa.

Kwa nini kubectl inaripoti data ya base64 isiyo halali?

Thamani iliyo chini ya data kwenye manifesti ya Secret lazima iwe Base64 halali kwenye mstari mmoja. Hitilafu hii kwa kawaida humaanisha mstari mpya uliingia wakati wa kubandika, au JSON ya kawaida iliwekwa chini ya data. Thamani za kawaida zinafaa kuwa chini ya stringData, ambayo Kubernetes huisimba kwa ajili yako.

Je, usimbaji hubadilisha chochote ndani ya JSON yangu?

Hapana. Base64 hubadilisha baiti kuwa maandishi na kurudi bila hasara, kwa hivyo funguo, thamani, herufi zenye alama na hata alama ya mpangilio wa baiti mwanzoni mwa faili hurudishwa kama zilivyo wakati wa kusimbua.