Base64 ఎన్కోడ్ & డీకోడ్
టెక్స్ట్ లేదా ఫైల్ను Base64గా మార్చండి, లేదా Base64ని తిరిగి చదవగలిగే టెక్స్ట్గా డీకోడ్ చేయండి. Unicode సరిగ్గా పనిచేస్తుంది, URL-safe అక్షరమాల ఒక్క క్లిక్తో అందుబాటులో ఉంటుంది, డీకోడింగ్ ప్యాడింగ్ ఉన్నా లేకపోయినా రెండు అక్షరమాలలనూ స్వీకరిస్తుంది.
0 అక్షరాలు · 0 పదాలు · 0 లైన్లు
0 అక్షరాలు · 0 పదాలు · 0 లైన్లు
పూర్తిగా ఈ బ్రౌజర్ ట్యాబ్లోనే నడుస్తుంది. మీ టెక్స్ట్ అప్లోడ్ లేదా నిల్వ చేయబడదు.
Base64 అక్షరమాల
RFC 4648 ప్రకారం ఇండెక్స్ → అక్షరం. హైలైట్ చేసిన చివరి రెండు URL-సేఫ్ రూపంలో వేరుగా ఉంటాయి: 62 అంటే + లేదా -, 63 అంటే / లేదా _.
- 0A
- 1B
- 2C
- 3D
- 4E
- 5F
- 6G
- 7H
- 8I
- 9J
- 10K
- 11L
- 12M
- 13N
- 14O
- 15P
- 16Q
- 17R
- 18S
- 19T
- 20U
- 21V
- 22W
- 23X
- 24Y
- 25Z
- 26a
- 27b
- 28c
- 29d
- 30e
- 31f
- 32g
- 33h
- 34i
- 35j
- 36k
- 37l
- 38m
- 39n
- 40o
- 41p
- 42q
- 43r
- 44s
- 45t
- 46u
- 47v
- 48w
- 49x
- 50y
- 51z
- 520
- 531
- 542
- 553
- 564
- 575
- 586
- 597
- 608
- 619
- 62+ -
- 63/ _
అవుట్పుట్ ఎంత పొడవవుతుంది
ప్రతి 3 ఇన్పుట్ బైట్లు 4 అక్షరాలవుతాయి; చివరి 1 లేదా 2 బైట్ల సమూహానికి సాధారణ Base64లో = ప్యాడింగ్ వేస్తారు, URL-సేఫ్ రూపంలో వేయరు.
| ఇన్పుట్ | బైట్లు | సాధారణ | URL-సేఫ్ | పొడవు |
|---|---|---|---|---|
U | 1 | VQ== | VQ | 4 |
Ul | 2 | VWw= | VWw | 4 |
Ult | 3 | VWx0 | VWx0 | 4 |
UltK | 4 | VWx0Sw== | VWx0Sw | 8 |
UltKi | 5 | VWx0S2k= | VWx0S2k | 8 |
UltKit | 6 | VWx0S2l0 | VWx0S2l0 | 8 |
Base64 ఏం చేస్తుంది
RFC 4648లో నిర్వచించిన Base64, ఏ బైట్లనైనా 64 ప్రింటబుల్ ASCII అక్షరాలతో రాస్తుంది: A–Z, a–z, 0–9, + మరియు /. ప్రతి మూడు బైట్ల (24 బిట్లు) సమూహాన్ని నాలుగు 6-బిట్ సంఖ్యలుగా విభజిస్తారు, ప్రతి సంఖ్య ఈ అక్షరమాల నుండి ఒక అక్షరాన్ని ఎంచుకుంటుంది. ఇన్పుట్ పొడవు మూడుతో నిశ్శేషంగా భాగించబడకపోతే, చివరి సమూహానికి ఒకటి లేదా రెండు = గుర్తులు జోడిస్తారు. ఫలితం ఎల్లప్పుడూ ఇన్పుట్ కంటే సుమారు 33% పెద్దదిగా ఉంటుంది: ప్రతి 3 బైట్లకు 4 అక్షరాలు.
చాలా మార్గాలు టెక్స్ట్ కోసం రూపొందినందున ఇది ఉంది. ఇమెయిల్ (MIME), HTML మరియు CSSలోని data: URLలు, ఇమేజ్లు లేదా సర్టిఫికెట్లు ఉండే JSON ఫీల్డ్లు, HTTP Basic ఆథెంటికేషన్ హెడర్లు అన్నీ బైనరీ డేటాను సురక్షితంగా పంపడానికి Base64ని వాడతాయి. ఇది ఎన్క్రిప్షన్ కాదు, దేన్నీ దాచదు; డీకోడ్ చేయడానికి కీ అవసరం లేదు.
Unicode మరియు URL-safe రకం
Base64 అక్షరాలను కాక బైట్లను ఎన్కోడ్ చేస్తుంది, కాబట్టి టెక్స్ట్ను ముందుగా బైట్లుగా మార్చాలి. ఈ టూల్ ఎల్లప్పుడూ వెబ్ ఆధారపడిన UTF-8ని వాడుతుంది: é రెండు బైట్లు, ఎమోజీ నాలుగు బైట్లు అవుతాయి. బ్రౌజర్లోని btoa ఫంక్షన్ మాత్రమే U+00FFకి మించిన ఏ అక్షరంపైనైనా ఎర్రర్ ఇస్తుంది, అందుకే సాధారణ ఎన్కోడర్లు యాక్సెంట్లు, ఎమోజీల వద్ద విఫలమవుతాయి; ఇక్కడ టెక్స్ట్ ముందుగా TextEncoder గుండా వెళ్తుంది, డీకోడింగ్లో TextDecoder దాన్ని తిప్పికొడుతుంది. డీకోడ్ అయిన బైట్లు చెల్లుబాటు అయ్యే UTF-8 కాకపోతే (ఇమేజ్, zip ఫైల్), టూల్ వాటిని గందరగోళ టెక్స్ట్కు బదులు హెక్సాడెసిమల్గా చూపుతుంది.
ప్రామాణిక Base64 వాడే + మరియు / గుర్తులకు URLలు, ఫైల్ పేర్లలో ప్రత్యేక అర్థాలు ఉన్నాయి. RFC 4648 సెక్షన్ 5లోని URL-సేఫ్ అక్షరమాల వాటిని - మరియు _తో భర్తీ చేస్తుంది, పాడింగ్ సాధారణంగా తొలగిస్తారు. JSON Web Tokens సరిగ్గా ఇదే రూపాన్ని వాడతాయి. డీకోడర్ రెండు అక్షరమాలలను, పాడింగ్ లేకపోవడాన్ని అంగీకరిస్తుంది, కాబట్టి ఏదైనా పేస్ట్ చేయవచ్చు.
ఫైళ్లు, ఇమేజ్లను ఎన్కోడ్ చేయడం
ఫైల్ ఎంచుకుంటే టూల్ దాన్ని FileReaderతో లోకల్గా చదివి Base64ని ఇస్తుంది, లేదా ఫైల్ MIME టైప్తో పూర్తి data: URLని ఇస్తుంది; దీన్ని img ట్యాగ్ లేదా CSS బ్యాక్గ్రౌండ్లో నేరుగా పేస్ట్ చేయవచ్చు. ఇన్లైన్ ఇమేజ్లు ఒక HTTP రిక్వెస్ట్ను ఆదా చేస్తాయి కానీ మూడో వంతు పెద్దవవుతాయి, వేరుగా క్యాష్ కావు, అందువల్ల ఫోటోలకు కాక చిన్న ఐకాన్లకు సరిపోతాయి. ప్రివ్యూ, సిద్ధమైన HTML, CSS స్నిప్పెట్లతో ఇమేజ్ల కోసం Image to Base64 వాడండి.
తరచుగా అడిగే ప్రశ్నలు
- Base64 అవుట్పుట్ నా ఇన్పుట్ కంటే ఎందుకు పొడవుగా ఉంటుంది?
- ప్రతి 3 బైట్లు 4 అక్షరాలవుతాయి, కాబట్టి అవుట్పుట్ ఇన్పుట్ కంటే సుమారు 4/3 రెట్లు ఉంటుంది, అదనంగా గరిష్ఠంగా రెండు పాడింగ్ అక్షరాలు. ASCII కాని టెక్స్ట్ ఇంకా పొడవుగా ఉంటుంది, ఎందుకంటే UTF-8 ప్రతి అక్షరానికి రెండు నుండి నాలుగు బైట్లు వాడుతుంది.
- చివర్లో ఉండే = గుర్తులు ఏమిటి?
- పాడింగ్. ఇన్పుట్ పొడవు మూడుతో భాగించబడనప్పుడు అవుట్పుట్ పొడవును నాలుగు గుణిజంగా చేస్తాయి. ఒక = అంటే చివరి సమూహంలో రెండు బైట్లు, రెండు = అంటే ఒక బైట్ ఉందని అర్థం.
- డీకోడింగ్ చెల్లని అక్షరం (invalid character) ఎర్రర్తో ఎందుకు విఫలమవుతుంది?
- ఇన్పుట్లో అక్షరమాల వెలుపలి ఏదో ఉంది, ఉదాహరణకు పదం మధ్యలో ఖాళీ, కోట్, లేదా URL ఎన్కోడింగ్ నుండి వచ్చిన %. లైన్ బ్రేక్లు, లేని పాడింగ్ అనుమతించబడతాయి; ఇతర అక్షరాలు కాదు.
- పాస్వర్డ్ను Base64గా ఎన్కోడ్ చేయడం సురక్షితమేనా?
- Base64 ఎలాంటి రక్షణా ఇవ్వదు. HTTP Basic ఆథెంటికేషన్ user:passwordను Base64లో పంపుతుంది, అందుకే దాన్ని HTTPS పైనే వాడాలి. రహస్యాలను రక్షించడానికి నిజమైన ఎన్క్రిప్షన్ లేదా హ్యాషింగ్ వాడండి.
- Base64 మరియు Base64url మధ్య తేడా ఏమిటి?
- రెండు అక్షరాలు, పాడింగ్ మాత్రమే: Base64url + మరియు / బదులు - మరియు _ వాడుతుంది, సాధారణంగా = వదిలేస్తుంది, అందువల్ల ఫలితం ఎస్కేప్ చేయకుండానే URLలు, ఫైల్ పేర్లలో ఉండగలదు.