Base64 என்கோட் & டிகோட்
உரையையோ கோப்பையோ Base64 ஆக மாற்றுங்கள், அல்லது Base64-ஐ மீண்டும் படிக்கக்கூடிய உரையாக டிகோட் செய்யுங்கள். Unicode சரியாகக் கையாளப்படுகிறது, URL-safe எழுத்துத்தொகுப்பை ஒரே கிளிக்கில் தேர்வு செய்யலாம், டிகோட் செய்யும்போது padding உடனோ இல்லாமலோ இரண்டு எழுத்துத்தொகுப்புகளையும் ஏற்கிறது.
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 பைட்டுகள் இருந்தால் standard Base64-ல் = padding சேர்க்கப்படும், URL-பாதுகாப்பு வடிவில் சேர்க்கப்படாது.
| உள்ளீடு | பைட்டுகள் | Standard | 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 authentication ஹெடர்கள் ஆகிய அனைத்தும் பைனரி தரவைப் பாதுகாப்பாக அனுப்ப Base64-ஐப் பயன்படுத்துகின்றன. இது குறியாக்கம் (encryption) அல்ல, எதையும் மறைக்காது; டிகோட் செய்ய எந்த விசையும் தேவையில்லை.
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 authentication பயனர்:கடவுச்சொல்லை Base64-இல் அனுப்புகிறது; அதனால்தான் அதை HTTPS வழியாக மட்டுமே பயன்படுத்த வேண்டும். ரகசியங்களைப் பாதுகாக்க உண்மையான குறியாக்கம் அல்லது ஹேஷிங்கைப் பயன்படுத்துங்கள்.
- Base64-க்கும் Base64url-க்கும் என்ன வேறுபாடு?
- இரண்டு எழுத்துகளும் நிரப்பு குறியும் மட்டுமே: Base64url + மற்றும் / க்குப் பதிலாக - மற்றும் _ ஐப் பயன்படுத்தி, பொதுவாக = ஐ விட்டுவிடுகிறது; இதனால் முடிவை escape செய்யாமலே URL-களிலும் கோப்புப் பெயர்களிலும் வைக்கலாம்.