Whiz Tools

ਬੇਸ64 ਐਨਕੋਡਰ/ਡਿਕੋਡਰ

ਪਾਠ ਨੂੰ ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਵਿੱਚ ਅਤੇ ਉਸ ਤੋਂ ਬਦਲੋ

ਕਾਪੀ ਕਰੋ

ਬੇਸ64 ਕੋਡਰ ਅਤੇ ਡੀਕੋਡਰ

ਪਰਿਚਯ

ਬੇਸ64 ਇੱਕ ਬਾਇਨਰੀ-ਟੂ-ਟੈਕਸਟ ਐਨਕੋਡਿੰਗ ਸਕੀਮ ਹੈ ਜੋ ਬਾਇਨਰੀ ਡੇਟਾ ਨੂੰ ਇੱਕ ਐਸਕੀ ਸਟਰਿੰਗ ਫਾਰਮੈਟ ਵਿੱਚ ਦਰਸਾਉਂਦੀ ਹੈ। ਇਹ ਬਾਇਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਗਏ ਡੇਟਾ ਨੂੰ ਟੈਕਸਟ ਸਮੱਗਰੀ ਨੂੰ ਸਹੀ ਤੌਰ 'ਤੇ ਸਮਰਥਨ ਕਰਨ ਵਾਲੇ ਚੈਨਲਾਂ ਵਿੱਚ ਲਿਜਾਣ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਹੈ। ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਬਾਇਨਰੀ ਡੇਟਾ ਨੂੰ 64 ਅੱਖਰਾਂ ਦੇ ਇੱਕ ਸੈੱਟ ਵਿੱਚ ਬਦਲਦੀ ਹੈ (ਇਸ ਲਈ ਨਾਮ) ਜੋ ਟੈਕਸਟ-ਅਧਾਰਿਤ ਪ੍ਰੋਟੋਕੋਲਾਂ ਦੁਆਰਾ ਸੁਰੱਖਿਅਤ ਤੌਰ 'ਤੇ ਪ੍ਰਸਾਰਿਤ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ ਬਿਨਾਂ ਡੇਟਾ ਦੇ ਖਰਾਬ ਹੋਣ ਦੇ।

ਬੇਸ64 ਅੱਖਰ ਸੈੱਟ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:

  • ਵੱਡੇ ਅੱਖਰ A-Z (26 ਅੱਖਰ)
  • ਛੋਟੇ ਅੱਖਰ a-z (26 ਅੱਖਰ)
  • ਅੰਕ 0-9 (10 ਅੱਖਰ)
  • ਦੋ ਵਾਧੂ ਅੱਖਰ, ਆਮ ਤੌਰ 'ਤੇ "+" ਅਤੇ "/" (2 ਅੱਖਰ)

ਇਹ ਟੂਲ ਤੁਹਾਨੂੰ ਆਸਾਨੀ ਨਾਲ ਟੈਕਸਟ ਨੂੰ ਬੇਸ64 ਫਾਰਮੈਟ ਵਿੱਚ ਐਨਕੋਡ ਕਰਨ ਜਾਂ ਬੇਸ64 ਸਟਰਿੰਗਾਂ ਨੂੰ ਮੁੜ ਉਨ੍ਹਾਂ ਦੇ ਮੂਲ ਟੈਕਸਟ ਵਿੱਚ ਡੀਕੋਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਵਿਕਾਸਕਾਂ, ਆਈਟੀ ਪੇਸ਼ੇਵਰਾਂ, ਅਤੇ ਕਿਸੇ ਵੀ ਵਿਅਕਤੀ ਲਈ ਲਾਭਦਾਇਕ ਹੈ ਜੋ ਡੇਟਾ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਟੈਕਸਟ-ਅਧਾਰਿਤ ਚੈਨਲਾਂ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਤੌਰ 'ਤੇ ਪ੍ਰਸਾਰਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।

ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਕਿਵੇਂ ਕੰਮ ਕਰਦੀ ਹੈ

ਐਨਕੋਡਿੰਗ ਪ੍ਰਕਿਰਿਆ

ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਹਰ ਤਿੰਨ ਬਾਈਟਾਂ (24 ਬਿੱਟ) ਦੇ ਬਾਇਨਰੀ ਡੇਟਾ ਦੇ ਸਮੂਹ ਨੂੰ ਚਾਰ ਬੇਸ64 ਅੱਖਰਾਂ ਵਿੱਚ ਬਦਲ ਕੇ ਕੰਮ ਕਰਦੀ ਹੈ। ਇਹ ਪ੍ਰਕਿਰਿਆ ਹੇਠ ਲਿਖੇ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦੀ ਹੈ:

  1. ਦਾਖਲ ਕੀਤੇ ਗਏ ਟੈਕਸਟ ਨੂੰ ਇਸ ਦੇ ਬਾਇਨਰੀ ਪ੍ਰਤੀਨਿਧੀ ਵਿੱਚ ਬਦਲੋ (ASCII ਜਾਂ UTF-8 ਐਨਕੋਡਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਕੇ)
  2. ਬਾਇਨਰੀ ਡੇਟਾ ਨੂੰ 24 ਬਿੱਟਾਂ ਦੇ ਸਮੂਹਾਂ ਵਿੱਚ ਗਰੁੱਪ ਕਰੋ (3 ਬਾਈਟ)
  3. ਹਰ 24-ਬਿੱਟ ਸਮੂਹ ਨੂੰ ਚਾਰ 6-ਬਿੱਟ ਸਮੂਹਾਂ ਵਿੱਚ ਵੰਡੋ
  4. ਹਰ 6-ਬਿੱਟ ਸਮੂਹ ਨੂੰ ਇਸ ਦੇ ਸਬੰਧਿਤ ਬੇਸ64 ਅੱਖਰ ਵਿੱਚ ਬਦਲੋ

ਜਦੋਂ ਦਾਖਲ ਦੀ ਲੰਬਾਈ 3 ਨਾਲ ਵੰਡਣ ਯੋਗ ਨਹੀਂ ਹੁੰਦੀ, ਤਾਂ 4:3 ਆਨੁਪਾਤ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਲਈ "=" ਅੱਖਰਾਂ ਨਾਲ ਪੈਡਿੰਗ ਜੋੜੀ ਜਾਂਦੀ ਹੈ।

ਗਣਿਤੀ ਪ੍ਰਤੀਨਿਧੀ

ਬਾਈਟਾਂ ਦੇ ਇੱਕ ਲੜੀ b1,b2,b3b_1, b_2, b_3 ਲਈ, ਸਬੰਧਿਤ ਬੇਸ64 ਅੱਖਰ c1,c2,c3,c4c_1, c_2, c_3, c_4 ਦੀ ਗਣਨਾ ਇਸ ਤਰ੍ਹਾਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ:

c1=Base64[(b1>>2)]c_1 = \text{Base64}[(b_1 >> 2)]
c2=Base64[((b1&3)<<4)(b2>>4)]c_2 = \text{Base64}[((b_1 \& 3) << 4) | (b_2 >> 4)]
c3=Base64[((b2&15)<<2)(b3>>6)]c_3 = \text{Base64}[((b_2 \& 15) << 2) | (b_3 >> 6)]
c4=Base64[(b3&63)]c_4 = \text{Base64}[(b_3 \& 63)]

ਜਿੱਥੇ Base64[i]\text{Base64}[i] ii-ਵੀਂ ਅੱਖਰ ਨੂੰ ਬੇਸ64 ਅਲਫਾਬੇਟ ਵਿੱਚ ਦਰਸਾਉਂਦਾ ਹੈ।

ਡੀਕੋਡਿੰਗ ਪ੍ਰਕਿਰਿਆ

ਬੇਸ64 ਡੀਕੋਡਿੰਗ ਐਨਕੋਡਿੰਗ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਵਾਪਸ ਕਰਦੀ ਹੈ:

  1. ਹਰ ਬੇਸ64 ਅੱਖਰ ਨੂੰ ਇਸ ਦੇ 6-ਬਿੱਟ ਮੁੱਲ ਵਿੱਚ ਬਦਲੋ
  2. ਇਹ 6-ਬਿੱਟ ਮੁੱਲਾਂ ਨੂੰ ਜੋੜੋ
  3. ਬਿੱਟਾਂ ਨੂੰ 8-ਬਿੱਟ ਸਮੂਹਾਂ (ਬਾਈਟ) ਵਿੱਚ ਗਰੁੱਪ ਕਰੋ
  4. ਹਰ ਬਾਈਟ ਨੂੰ ਇਸ ਦੇ ਸਬੰਧਿਤ ਅੱਖਰ ਵਿੱਚ ਬਦਲੋ

ਪੈਡਿੰਗ

ਜਦੋਂ ਐਨਕੋਡ ਕਰਨ ਲਈ ਬਾਈਟਾਂ ਦੀ ਗਿਣਤੀ 3 ਨਾਲ ਵੰਡਣ ਯੋਗ ਨਹੀਂ ਹੁੰਦੀ, ਤਾਂ ਪੈਡਿੰਗ ਲਾਗੂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ:

  • ਜੇ ਇੱਕ ਬਾਈਟ ਬਾਕੀ ਰਹਿੰਦੀ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਦੋ ਬੇਸ64 ਅੱਖਰਾਂ ਵਿੱਚ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ ਜਿਸ ਤੋਂ ਬਾਅਦ "=="
  • ਜੇ ਦੋ ਬਾਈਟਾਂ ਬਾਕੀ ਰਹਿੰਦੀਆਂ ਹਨ, ਤਾਂ ਇਹਨਾਂ ਨੂੰ ਤਿੰਨ ਬੇਸ64 ਅੱਖਰਾਂ ਵਿੱਚ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ ਜਿਸ ਤੋਂ ਬਾਅਦ "="

ਉਦਾਹਰਨ

ਆਓ "Hello" ਟੈਕਸਟ ਨੂੰ ਬੇਸ64 ਵਿੱਚ ਐਨਕੋਡ ਕਰੀਏ:

  1. "Hello" ਦਾ ASCII ਪ੍ਰਤੀਨਿਧੀ: 72 101 108 108 111
  2. ਬਾਇਨਰੀ ਪ੍ਰਤੀਨਿਧੀ: 01001000 01100101 01101100 01101100 01101111
  3. 6-ਬਿੱਟ ਸਮੂਹਾਂ ਵਿੱਚ ਗਰੁੱਪਿੰਗ: 010010 000110 010101 101100 011011 000110 1111
  4. ਆਖਰੀ ਸਮੂਹ ਵਿੱਚ ਸਿਰਫ 4 ਬਿੱਟ ਹਨ, ਇਸ ਲਈ ਅਸੀਂ ਜ਼ੀਰੋ ਨਾਲ ਪੈਡਿੰਗ ਕਰਦੇ ਹਾਂ: 010010 000110 010101 101100 011011 000110 111100
  5. ਦਸ਼ਮਲਵ ਵਿੱਚ ਬਦਲਣਾ: 18, 6, 21, 44, 27, 6, 60
  6. ਬੇਸ64 ਅਲਫਾਬੇਟ ਵਿੱਚ ਦੇਖਣਾ: S, G, V, s, b, G, 8
  7. ਨਤੀਜਾ "SGVsbG8=" ਹੈ

ਧਿਆਨ ਦਿਓ ਕਿ "=" ਪੈਡਿੰਗ ਅੰਤ ਵਿੱਚ ਹੈ ਕਿਉਂਕਿ ਦਾਖਲ ਦੀ ਲੰਬਾਈ (5 ਬਾਈਟ) 3 ਨਾਲ ਵੰਡਣ ਯੋਗ ਨਹੀਂ ਹੈ।

ਫਾਰਮੂਲਾ

ਬੇਸ64 ਐਨਕੋਡ ਕੀਤੀ ਗਈ ਸਟਰਿੰਗ ਦੀ ਲੰਬਾਈ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਆਮ ਫਾਰਮੂਲਾ ਹੈ:

encoded_length=4×input_length3\text{encoded\_length} = 4 \times \lceil \frac{\text{input\_length}}{3} \rceil

ਜਿੱਥੇ x\lceil x \rceil ਛੱਤੀ ਫੰਕਸ਼ਨ (ਨਜ਼ਦੀਕੀ ਪੂਰੇ ਅੰਕ ਵਿੱਚ ਗੋਲ ਕਰਨਾ) ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।

ਵਰਤੋਂ ਦੇ ਕੇਸ

ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਵੱਖ-ਵੱਖ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤੀ ਜਾਂਦੀ ਹੈ:

  1. ਈਮੇਲ ਅਟੈਚਮੈਂਟ: MIME (ਮਲਟੀਪਰਪਜ਼ ਇੰਟਰਨੈਟ ਮੇਲ ਐਕਸਟੈਂਸ਼ਨ) ਬੇਸ64 ਨੂੰ ਈਮੇਲ ਵਿੱਚ ਬਾਇਨਰੀ ਅਟੈਚਮੈਂਟਾਂ ਨੂੰ ਐਨਕੋਡ ਕਰਨ ਲਈ ਵਰਤਦਾ ਹੈ।

  2. ਡੇਟਾ URL: HTML, CSS, ਜਾਂ JavaScript ਵਿੱਚ ਛੋਟੇ ਚਿੱਤਰਾਂ, ਫੋਂਟਾਂ, ਜਾਂ ਹੋਰ ਸਰੋਤਾਂ ਨੂੰ ਸਿੱਧਾ ਸ਼ਾਮਲ ਕਰਨ ਲਈ data: URL ਸਕੀਮ ਦੀ ਵਰਤੋਂ ਕਰਨਾ।

  3. API ਸੰਚਾਰ: JSON ਪੇਲੋਡਾਂ ਜਾਂ ਹੋਰ ਟੈਕਸਟ-ਅਧਾਰਿਤ API ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਬਾਇਨਰੀ ਡੇਟਾ ਨੂੰ ਸੁਰੱਖਿਅਤ ਤੌਰ 'ਤੇ ਪ੍ਰਸਾਰਿਤ ਕਰਨਾ।

  4. ਟੈਕਸਟ ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਬਾਇਨਰੀ ਡੇਟਾ ਸਟੋਰ ਕਰਨਾ: ਜਦੋਂ ਬਾਇਨਰੀ ਡੇਟਾ XML, JSON, ਜਾਂ ਹੋਰ ਟੈਕਸਟ-ਅਧਾਰਿਤ ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਸਟੋਰ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

  5. ਪ੍ਰਮਾਣਿਕਤਾ ਪ੍ਰਣਾਲੀਆਂ: HTTP ਵਿੱਚ ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਦਾ ਇਸਤੇਮਾਲ ਬੇਸਿਕ ਪ੍ਰਮਾਣਿਕਤਾ ਵਿੱਚ ਹੁੰਦਾ ਹੈ (ਹਾਲਾਂਕਿ ਇਹ ਸੁਰੱਖਿਆ ਲਈ ਨਹੀਂ, ਸਿਰਫ ਐਨਕੋਡਿੰਗ ਲਈ ਹੈ)।

  6. ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ: ਵੱਖ-ਵੱਖ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਪ੍ਰੋਟੋਕੋਲਾਂ ਅਤੇ ਸਿਸਟਮਾਂ ਦਾ ਹਿੱਸਾ, ਅਕਸਰ ਕੁੰਜੀਆਂ ਜਾਂ ਸਰਟੀਫਿਕੇਟਾਂ ਨੂੰ ਐਨਕੋਡ ਕਰਨ ਲਈ।

  7. ਕੂਕੀ ਮੁੱਲ: ਕੂਕੀਜ਼ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਜਟਿਲ ਡੇਟਾ ਢਾਂਚਿਆਂ ਨੂੰ ਐਨਕੋਡ ਕਰਨਾ।

ਵਿਕਲਪ

ਜਦੋਂ ਕਿ ਬੇਸ64 ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਕੁਝ ਹਾਲਤਾਂ ਵਿੱਚ ਹੋਰ ਵਿਕਲਪ ਹੋ ਸਕਦੇ ਹਨ ਜੋ ਵੱਧ ਉਚਿਤ ਹੋ ਸਕਦੇ ਹਨ:

  1. URL-ਸੁਰੱਖਿਅਤ ਬੇਸ64: ਇੱਕ ਵੈਰੀਐਂਟ ਜੋ "+" ਅਤੇ "/" ਦੀ ਥਾਂ "-" ਅਤੇ "_" ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਤਾਂ ਕਿ URL ਐਨਕੋਡਿੰਗ ਦੇ ਮੁੱਦੇ ਤੋਂ ਬਚਿਆ ਜਾ ਸਕੇ। ਇਹ ਡੇਟਾ ਲਈ ਉਪਯੋਗੀ ਹੈ ਜੋ URLs ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾਵੇਗਾ।

  2. ਬੇਸ32: 32-ਅੱਖਰਾਂ ਦੇ ਸੈੱਟ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਵੱਡਾ ਨਤੀਜਾ ਹੁੰਦਾ ਹੈ ਪਰ ਮਨੁੱਖੀ ਪੜ੍ਹਨਯੋਗਤਾ ਅਤੇ ਕੇਸ ਅਣਸਰਤਾ ਵਿੱਚ ਬਿਹਤਰ ਹੁੰਦਾ ਹੈ।

  3. ਹੈਕਸ ਐਨਕੋਡਿੰਗ: ਸਧਾਰਣ HEX ਵਿੱਚ ਬਦਲਣਾ, ਜੋ ਘੱਟ ਕੁਸ਼ਲ ਹੈ (ਆਕਾਰ ਨੂੰ ਦੋ ਗੁਣਾ ਕਰਦਾ ਹੈ) ਪਰ ਬਹੁਤ ਸਧਾਰਣ ਅਤੇ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਸਮਰਥਿਤ ਹੈ।

  4. ਬਾਇਨਰੀ ਟ੍ਰਾਂਸਫਰ: ਵੱਡੇ ਫਾਇਲਾਂ ਲਈ ਜਾਂ ਜਦੋਂ ਕੁਸ਼ਲਤਾ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦੀ ਹੈ, ਤਦ ਡਾਇਰੈਕਟ ਬਾਇਨਰੀ ਟ੍ਰਾਂਸਫਰ ਪ੍ਰੋਟੋਕੋਲਾਂ ਵਰਗੇ HTTP ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚੰਗਾ ਹੁੰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਉਚਿਤ ਸਮੱਗਰੀ-ਕਿਸਮ ਦੇ ਸਿਰਲੇਖ ਹੁੰਦੇ ਹਨ।

  5. ਕੰਪ੍ਰੈਸ਼ਨ + ਬੇਸ64: ਵੱਡੇ ਟੈਕਸਟ ਡੇਟਾ ਲਈ, ਐਨਕੋਡਿੰਗ ਤੋਂ ਪਹਿਲਾਂ ਕੰਪ੍ਰੈਸ਼ਨ ਕਰਨ ਨਾਲ ਆਕਾਰ ਵਾਧੇ ਨੂੰ ਘਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।

  6. JSON/XML ਸੀਰੀਅਲਾਈਜ਼ੇਸ਼ਨ: ਸਾਂਰਚਿਤ ਡੇਟਾ ਲਈ, ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਦੀ ਥਾਂ ਮੂਲ JSON ਜਾਂ XML ਸੀਰੀਅਲਾਈਜ਼ੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਵਧੀਆ ਹੋ ਸਕਦਾ ਹੈ।

ਇਤਿਹਾਸ

ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਦਾ ਜੜ੍ਹEarly ਕੰਪਿਊਟਿੰਗ ਅਤੇ ਟੈਲੀਕਮਿਊਨਿਕੇਸ਼ਨ ਸਿਸਟਮਾਂ ਵਿੱਚ ਹੈ ਜਿੱਥੇ ਬਾਇਨਰੀ ਡੇਟਾ ਨੂੰ ਟੈਕਸਟ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤੇ ਗਏ ਚੈਨਲਾਂ ਦੁਆਰਾ ਪ੍ਰਸਾਰਿਤ ਕੀਤਾ ਜਾਣਾ ਸੀ।

ਬੇਸ64 ਦੀ ਆਧਿਕਾਰਿਕ ਵਿਸ਼ੇਸ਼ਤਾ ਪਹਿਲੀ ਵਾਰੀ 1987 ਵਿੱਚ RFC 989 ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੀ ਗਈ, ਜਿਸ ਨੇ ਪ੍ਰਾਈਵੇਸੀ ਐਨਹਾਂਸਡ ਮੇਲ (PEM) ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ। ਇਸਨੂੰ ਬਾਅਦ ਵਿੱਚ RFC 1421 (1993) ਅਤੇ RFC 2045 (1996, MIME ਦੇ ਹਿੱਸੇ ਵਜੋਂ) ਵਿੱਚ ਅਪਡੇਟ ਕੀਤਾ ਗਿਆ।

"ਬੇਸ64" ਸ਼ਬਦ ਦਾ ਆਰੰਭ ਇਸ ਗੱਲ ਤੋਂ ਹੈ ਕਿ ਐਨਕੋਡਿੰਗ 64 ਵੱਖ-ਵੱਖ ਐਸਕੀ ਅੱਖਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ ਬਾਇਨਰੀ ਡੇਟਾ ਨੂੰ ਦਰਸਾਉਣ ਲਈ। ਇਹ 64 ਅੱਖਰਾਂ ਦੀ ਚੋਣ ਇਰਾਦੇ ਨਾਲ ਕੀਤੀ ਗਈ ਸੀ, ਕਿਉਂਕਿ 64 ਇੱਕ ਪਾਵਰ ਆਫ 2 ਹੈ (2^6), ਜੋ ਬਾਇਨਰੀ ਅਤੇ ਬੇਸ64 ਵਿਚਕਾਰ ਪਰਿਵਰਤਨ ਨੂੰ ਕੁਸ਼ਲ ਬਣਾਉਂਦੀ ਹੈ।

ਸਮੇਂ ਦੇ ਨਾਲ, ਬੇਸ64 ਦੇ ਕਈ ਵੈਰੀਐਂਟ ਉਭਰ ਕੇ ਸਾਹਮਣੇ ਆਏ ਹਨ:

  • ਮਿਆਰੀ ਬੇਸ64: ਜਿਵੇਂ ਕਿ RFC 4648 ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ, A-Z, a-z, 0-9, +, / ਅਤੇ = ਦੇ ਪੈਡਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ
  • URL-ਸੁਰੱਖਿਅਤ ਬੇਸ64: "+" ਅਤੇ "/" ਦੀ ਥਾਂ "-" ਅਤੇ "_" ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਤਾਂ ਕਿ URL ਐਨਕੋਡਿੰਗ ਦੇ ਮੁੱਦੇ ਤੋਂ ਬਚਿਆ ਜਾ ਸਕੇ
  • ਫਾਈਲ-ਨਾਮ ਸੁਰੱਖਿਅਤ ਬੇਸ64: URL-ਸੁਰੱਖਿਅਤ ਦੇ ਸਮਾਨ, ਫਾਈਲ ਨਾਂ ਵਿੱਚ ਵਰਤਣ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ
  • IMAP ਲਈ ਬਦਲਿਆ ਗਿਆ ਬੇਸ64: IMAP ਪ੍ਰੋਟੋਕੋਲ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਵਿਲੱਖਣ ਵਿਸ਼ੇਸ਼ ਅੱਖਰਾਂ ਦਾ ਸੈੱਟ ਹੁੰਦਾ ਹੈ

ਤਿੰਨ ਦਹਾਕਿਆਂ ਤੋਂ ਵੱਧ ਹੋਣ ਦੇ ਬਾਵਜੂਦ, ਬੇਸ64 ਆਧੁਨਿਕ ਕੰਪਿਊਟਿੰਗ ਵਿੱਚ ਇੱਕ ਮੁੱਖ ਟੂਲ ਬਣਿਆ ਰਹਿੰਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ API ਦੀ ਵਧਦੀ ਵਰਤੋਂ ਨਾਲ ਜੋ ਟੈਕਸਟ-ਅਧਾਰਿਤ ਡੇਟਾ ਫਾਰਮੈਟਾਂ ਜਿਵੇਂ ਕਿ JSON 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ।

ਕੋਡ ਉਦਾਹਰਨ

ਇੱਥੇ ਵੱਖ-ਵੱਖ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਅਤੇ ਡੀਕੋਡਿੰਗ ਦੇ ਉਦਾਹਰਨ ਹਨ:

// ਜਾਵਾਸਕ੍ਰਿਪਟ ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
function encodeToBase64(text) {
  return btoa(text);
}

function decodeFromBase64(base64String) {
  try {
    return atob(base64String);
  } catch (e) {
    throw new Error("ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ");
  }
}

// ਉਦਾਹਰਨ ਦੀ ਵਰਤੋਂ
const originalText = "Hello, World!";
const encoded = encodeToBase64(originalText);
console.log("ਐਨਕੋਡ ਕੀਤਾ:", encoded);  // SGVsbG8sIFdvcmxkIQ==

try {
  const decoded = decodeFromBase64(encoded);
  console.log("ਡੀਕੋਡ ਕੀਤਾ:", decoded);  // Hello, World!
} catch (error) {
  console.error(error.message);
}
# ਪਾਇਥਨ ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
import base64

def encode_to_base64(text):
    # ਸਟਰਿੰਗ ਨੂੰ ਬਾਈਟਸ ਵਿੱਚ ਬਦਲੋ ਅਤੇ ਫਿਰ ਐਨਕੋਡ ਕਰੋ
    text_bytes = text.encode('utf-8')
    base64_bytes = base64.b64encode(text_bytes)
    return base64_bytes.decode('utf-8')

def decode_from_base64(base64_string):
    try:
        # ਬੇਸ64 ਸਟਰਿੰਗ ਨੂੰ ਬਾਈਟਸ ਵਿੱਚ ਬਦਲੋ ਅਤੇ ਫਿਰ ਡੀਕੋਡ ਕਰੋ
        base64_bytes = base64_string.encode('utf-8')
        text_bytes = base64.b64decode(base64_bytes)
        return text_bytes.decode('utf-8')
    except Exception as e:
        raise ValueError(f"ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ: {e}")

# ਉਦਾਹਰਨ ਦੀ ਵਰਤੋਂ
original_text = "Hello, World!"
encoded = encode_to_base64(original_text)
print(f"ਐਨਕੋਡ ਕੀਤਾ: {encoded}")  # SGVsbG8sIFdvcmxkIQ==

try:
    decoded = decode_from_base64(encoded)
    print(f"ਡੀਕੋਡ ਕੀਤਾ: {decoded}")  # Hello, World!
except ValueError as e:
    print(e)
// ਜਾਵਾ ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
import java.util.Base64;
import java.nio.charset.StandardCharsets;

public class Base64Example {
    public static String encodeToBase64(String text) {
        byte[] textBytes = text.getBytes(StandardCharsets.UTF_8);
        byte[] encodedBytes = Base64.getEncoder().encode(textBytes);
        return new String(encodedBytes, StandardCharsets.UTF_8);
    }
    
    public static String decodeFromBase64(String base64String) {
        try {
            byte[] base64Bytes = base64String.getBytes(StandardCharsets.UTF_8);
            byte[] decodedBytes = Base64.getDecoder().decode(base64Bytes);
            return new String(decodedBytes, StandardCharsets.UTF_8);
        } catch (IllegalArgumentException e) {
            throw new IllegalArgumentException("ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ: " + e.getMessage());
        }
    }
    
    public static void main(String[] args) {
        String originalText = "Hello, World!";
        String encoded = encodeToBase64(originalText);
        System.out.println("ਐਨਕੋਡ ਕੀਤਾ: " + encoded);  // SGVsbG8sIFdvcmxkIQ==
        
        try {
            String decoded = decodeFromBase64(encoded);
            System.out.println("ਡੀਕੋਡ ਕੀਤਾ: " + decoded);  // Hello, World!
        } catch (IllegalArgumentException e) {
            System.err.println(e.getMessage());
        }
    }
}
<?php
// PHP ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
function encodeToBase64($text) {
    return base64_encode($text);
}

function decodeFromBase64($base64String) {
    $decoded = base64_decode($base64String, true);
    if ($decoded === false) {
        throw new Exception("ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ");
    }
    return $decoded;
}

// ਉਦਾਹਰਨ ਦੀ ਵਰਤੋਂ
$originalText = "Hello, World!";
$encoded = encodeToBase64($originalText);
echo "ਐਨਕੋਡ ਕੀਤਾ: " . $encoded . "\n";  // SGVsbG8sIFdvcmxkIQ==

try {
    $decoded = decodeFromBase64($encoded);
    echo "ਡੀਕੋਡ ਕੀਤਾ: " . $decoded . "\n";  // Hello, World!
} catch (Exception $e) {
    echo "ਗਲਤੀ: " . $e->getMessage() . "\n";
}
?>
// C# ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
using System;
using System.Text;

class Base64Example
{
    public static string EncodeToBase64(string text)
    {
        byte[] textBytes = Encoding.UTF8.GetBytes(text);
        return Convert.ToBase64String(textBytes);
    }
    
    public static string DecodeFromBase64(string base64String)
    {
        try
        {
            byte[] base64Bytes = Convert.FromBase64String(base64String);
            return Encoding.UTF8.GetString(base64Bytes);
        }
        catch (FormatException)
        {
            throw new FormatException("ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ");
        }
    }
    
    static void Main()
    {
        string originalText = "Hello, World!";
        string encoded = EncodeToBase64(originalText);
        Console.WriteLine($"ਐਨਕੋਡ ਕੀਤਾ: {encoded}");  // SGVsbG8sIFdvcmxkIQ==
        
        try
        {
            string decoded = DecodeFromBase64(encoded);
            Console.WriteLine($"ਡੀਕੋਡ ਕੀਤਾ: {decoded}");  // Hello, World!
        }
        catch (FormatException e)
        {
            Console.WriteLine($"ਗਲਤੀ: {e.Message}");
        }
    }
}
# ਰੂਬੀ ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
require 'base64'

def encode_to_base64(text)
  Base64.strict_encode64(text)
end

def decode_from_base64(base64_string)
  begin
    Base64.strict_decode64(base64_string)
  rescue ArgumentError => e
    raise "ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ: #{e.message}"
  end
end

# ਉਦਾਹਰਨ ਦੀ ਵਰਤੋਂ
original_text = "Hello, World!"
encoded = encode_to_base64(original_text)
puts "ਐਨਕੋਡ ਕੀਤਾ: #{encoded}"  # SGVsbG8sIFdvcmxkIQ==

begin
  decoded = decode_from_base64(encoded)
  puts "ਡੀਕੋਡ ਕੀਤਾ: #{decoded}"  # Hello, World!
rescue StandardError => e
  puts "ਗਲਤੀ: #{e.message}"
end
// ਗੋ ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
package main

import (
    "encoding/base64"
    "fmt"
)

func encodeToBase64(text string) string {
    return base64.StdEncoding.EncodeToString([]byte(text))
}

func decodeFromBase64(base64String string) (string, error) {
    bytes, err := base64.StdEncoding.DecodeString(base64String)
    if err != nil {
        return "", fmt.Errorf("ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ: %v", err)
    }
    return string(bytes), nil
}

func main() {
    originalText := "Hello, World!"
    encoded := encodeToBase64(originalText)
    fmt.Println("ਐਨਕੋਡ ਕੀਤਾ:", encoded)  // SGVsbG8sIFdvcmxkIQ==
    
    decoded, err := decodeFromBase64(encoded)
    if err != nil {
        fmt.Println("ਗਲਤੀ:", err)
    } else {
        fmt.Println("ਡੀਕੋਡ ਕੀਤਾ:", decoded)  // Hello, World!
    }
}
// ਸਵਿਫਟ ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
import Foundation

func encodeToBase64(_ text: String) -> String? {
    if let data = text.data(using: .utf8) {
        return data.base64EncodedString()
    }
    return nil
}

func decodeFromBase64(_ base64String: String) -> String? {
    if let data = Data(base64Encoded: base64String) {
        return String(data: data, encoding: .utf8)
    }
    return nil
}

// ਉਦਾਹਰਨ ਦੀ ਵਰਤੋਂ
let originalText = "Hello, World!"
if let encoded = encodeToBase64(originalText) {
    print("ਐਨਕੋਡ ਕੀਤਾ: \(encoded)")  // SGVsbG8sIFdvcmxkIQ==
    
    if let decoded = decodeFromBase64(encoded) {
        print("ਡੀਕੋਡ ਕੀਤਾ: \(decoded)")  // Hello, World!
    } else {
        print("ਗਲਤੀ: ਬੇਸ64 ਸਟਰਿੰਗ ਨੂੰ ਡੀਕੋਡ ਨਹੀਂ ਕਰ ਸਕਿਆ")
    }
} else {
    print("ਗਲਤੀ: ਟੈਕਸਟ ਨੂੰ ਐਨਕੋਡ ਨਹੀਂ ਕਰ ਸਕਿਆ")
}
' ਐਕਸਲ VBA ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
' ਨੋਟ: ਇਸ ਲਈ Microsoft XML, v6.0 ਦਾ ਹਵਾਲਾ ਲੋੜੀਂਦਾ ਹੈ
Function EncodeToBase64(text As String) As String
    Dim xmlObj As Object
    Set xmlObj = CreateObject("MSXML2.DOMDocument")
    
    Dim xmlNode As Object
    Set xmlNode = xmlObj.createElement("b64")
    
    xmlNode.DataType = "bin.base64"
    xmlNode.nodeTypedValue = StrConv(text, vbFromUnicode)
    
    EncodeToBase64 = xmlNode.text
    
    Set xmlNode = Nothing
    Set xmlObj = Nothing
End Function

Function DecodeFromBase64(base64String As String) As String
    On Error GoTo ErrorHandler
    
    Dim xmlObj As Object
    Set xmlObj = CreateObject("MSXML2.DOMDocument")
    
    Dim xmlNode As Object
    Set xmlNode = xmlObj.createElement("b64")
    
    xmlNode.DataType = "bin.base64"
    xmlNode.text = base64String
    
    DecodeFromBase64 = StrConv(xmlNode.nodeTypedValue, vbUnicode)
    
    Set xmlNode = Nothing
    Set xmlObj = Nothing
    Exit Function
    
ErrorHandler:
    DecodeFromBase64 = "ਗਲਤੀ: ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ"
End Function

' ਵਰਤੋਂ ਇੱਕ ਵਰਕਸ਼ੀਟ ਵਿੱਚ:
' =EncodeToBase64("Hello, World!")
' =DecodeFromBase64("SGVsbG8sIFdvcmxkIQ==")
# ਆਰ ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
# 'base64enc' ਪੈਕੇਜ ਦੀ ਲੋੜ ਹੈ
# install.packages("base64enc")
library(base64enc)

encode_to_base64 <- function(text) {
  # ਟੈਕਸਟ ਨੂੰ ਰਾਅ ਬਾਈਟਸ ਵਿੱਚ ਬਦਲੋ, ਫਿਰ ਐਨਕੋਡ ਕਰੋ
  text_raw <- charToRaw(text)
  base64_encoded <- base64encode(text_raw)
  return(rawToChar(base64_encoded))
}

decode_from_base64 <- function(base64_string) {
  tryCatch({
    # ਬੇਸ64 ਸਟਰਿੰਗ ਨੂੰ ਰਾਅ ਵਿੱਚ ਬਦਲੋ, ਫਿਰ ਡੀਕੋਡ ਕਰੋ
    base64_raw <- charToRaw(base64_string)
    decoded_raw <- base64decode(base64_raw)
    return(rawToChar(decoded_raw))
  }, error = function(e) {
    stop(paste("ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ:", e$message))
  })
}

# ਉਦਾਹਰਨ ਦੀ ਵਰਤੋਂ
original_text <- "Hello, World!"
encoded <- encode_to_base64(original_text)
cat("ਐਨਕੋਡ ਕੀਤਾ:", encoded, "\n")  # SGVsbG8sIFdvcmxkIQ==

tryCatch({
  decoded <- decode_from_base64(encoded)
  cat("ਡੀਕੋਡ ਕੀਤਾ:", decoded, "\n")  # Hello, World!
}, error = function(e) {
  cat("ਗਲਤੀ:", e$message, "\n")
})
% ਮੈਟਲੈਬ ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
function demo_base64()
    originalText = 'Hello, World!';
    
    % ਐਨਕੋਡ
    encoded = encode_to_base64(originalText);
    fprintf('ਐਨਕੋਡ ਕੀਤਾ: %s\n', encoded);  % SGVsbG8sIFdvcmxkIQ==
    
    % ਡੀਕੋਡ
    try
        decoded = decode_from_base64(encoded);
        fprintf('ਡੀਕੋਡ ਕੀਤਾ: %s\n', decoded);  % Hello, World!
    catch e
        fprintf('ਗਲਤੀ: %s\n', e.message);
    end
end

function encoded = encode_to_base64(text)
    % ਟੈਕਸਟ ਨੂੰ uint8 ਐਰੇ ਵਿੱਚ ਬਦਲੋ ਅਤੇ ਐਨਕੋਡ ਕਰੋ
    bytes = uint8(text);
    encoded = base64encode(bytes);
end

function decoded = decode_from_base64(base64String)
    try
        % ਬੇਸ64 ਸਟਰਿੰਗ ਨੂੰ uint8 ਐਰੇ ਵਿੱਚ ਡੀਕੋਡ ਕਰੋ
        bytes = base64decode(base64String);
        decoded = char(bytes);
    catch
        error('ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ');
    end
end
// C ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ OpenSSL ਦੀ ਵਰਤੋਂ ਕਰਕੇ
#include <stdio.h>
#include <string.h>
#include <openssl/bio.h>
#include <openssl/evp.h>
#include <openssl/buffer.h>
#include <stdint.h>

char* encode_to_base64(const char* input) {
    BIO *bio, *b64;
    BUF_MEM *bufferPtr;
    
    b64 = BIO_new(BIO_f_base64());
    bio = BIO_new(BIO_s_mem());
    bio = BIO_push(b64, bio);
    
    BIO_set_flags(bio, BIO_FLAGS_BASE64_NO_NL);
    BIO_write(bio, input, strlen(input));
    BIO_flush(bio);
    BIO_get_mem_ptr(bio, &bufferPtr);
    
    char* result = (char*)malloc(bufferPtr->length + 1);
    memcpy(result, bufferPtr->data, bufferPtr->length);
    result[bufferPtr->length] = '\0';
    
    BIO_free_all(bio);
    
    return result;
}

char* decode_from_base64(const char* input) {
    BIO *bio, *b64;
    size_t length = strlen(input);
    char* buffer = (char*)malloc(length);
    
    b64 = BIO_new(BIO_f_base64());
    bio = BIO_new_mem_buf(input, -1);
    bio = BIO_push(b64, bio);
    
    BIO_set_flags(bio, BIO_FLAGS_BASE64_NO_NL);
    int decoded_length = BIO_read(bio, buffer, length);
    
    if (decoded_length <= 0) {
        free(buffer);
        BIO_free_all(bio);
        return NULL; // ਗਲਤ ਬੇਸ64 ਇਨਪੁਟ
    }
    
    buffer[decoded_length] = '\0';
    
    BIO_free_all(bio);
    
    return buffer;
}

int main() {
    const char* original_text = "Hello, World!";
    
    char* encoded = encode_to_base64(original_text);
    printf("ਐਨਕੋਡ ਕੀਤਾ: %s\n", encoded);  // SGVsbG8sIFdvcmxkIQ==
    
    char* decoded = decode_from_base64(encoded);
    if (decoded) {
        printf("ਡੀਕੋਡ ਕੀਤਾ: %s\n", decoded);  // Hello, World!
        free(decoded);
    } else {
        printf("ਗਲਤੀ: ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ\n");
    }
    
    free(encoded);
    
    return 0;
}
// ਰਸਟ ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ
use base64::{encode, decode};
use std::str;

fn encode_to_base64(text: &str) -> String {
    encode(text)
}

fn decode_from_base64(base64_string: &str) -> Result<String, String> {
    match decode(base64_string) {
        Ok(bytes) => {
            match str::from_utf8(&bytes) {
                Ok(text) => Ok(text.to_string()),
                Err(e) => Err(format!("ਗਲਤ UTF-8 ਕ੍ਰਮ: {}", e))
            }
        },
        Err(e) => Err(format!("ਗਲਤ ਬੇਸ64 ਸਟਰਿੰਗ: {}", e))
    }
}

fn main() {
    let original_text = "Hello, World!";
    let encoded = encode_to_base64(original_text);
    println!("ਐਨਕੋਡ ਕੀਤਾ: {}", encoded);  // SGVsbG8sIFdvcmxkIQ==
    
    match decode_from_base64(&encoded) {
        Ok(decoded) => println!("ਡੀਕੋਡ ਕੀਤਾ: {}", decoded),  // Hello, World!
        Err(e) => println!("ਗਲਤੀ: {}", e)
    }
}

ਕਿਨਾਰਾ ਕੇਸ ਅਤੇ ਵਿਚਾਰ

ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਅਤੇ ਡੀਕੋਡਿੰਗ ਨਾਲ ਕੰਮ ਕਰਦਿਆਂ, ਇਨ੍ਹਾਂ ਮਹੱਤਵਪੂਰਨ ਵਿਚਾਰਾਂ ਦਾ ਧਿਆਨ ਰੱਖਣਾ:

  1. ਯੂਨੀਕੋਡ ਅਤੇ ਗੈਰ-ASCII ਅੱਖਰ: ਜਦੋਂ ਗੈਰ-ASCII ਅੱਖਰਾਂ ਵਾਲੇ ਟੈਕਸਟ ਨੂੰ ਐਨਕੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਤੋਂ ਪਹਿਲਾਂ ਸਹੀ ਅੱਖਰ ਐਨਕੋਡਿੰਗ (ਆਮ ਤੌਰ 'ਤੇ UTF-8) ਨੂੰ ਯਕੀਨੀ ਬਣਾਓ।

  2. ਪੈਡਿੰਗ: ਮਿਆਰੀ ਬੇਸ64 "=" ਅੱਖਰਾਂ ਨਾਲ ਪੈਡਿੰਗ ਦਾ ਇਸਤੇਮਾਲ ਕਰਦੀ ਹੈ ਤਾਂ ਕਿ ਨਤੀਜੇ ਦੀ ਲੰਬਾਈ 4 ਦਾ ਗੁਣਾ ਹੋਵੇ। ਕੁਝ ਐਪਲੀਕੇਸ਼ਨ ਪੈਡਿੰਗ ਨੂੰ ਛੱਡਣ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ, ਜੋ ਸਹਿਯੋਗੀ ਸਮੱਸਿਆਵਾਂ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ।

  3. ਲਾਈਨ ਬ੍ਰੇਕ: ਪਰੰਪਰਾਗਤ ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਪੜ੍ਹਨਯੋਗਤਾ ਲਈ ਲਾਈਨ ਬ੍ਰੇਕਾਂ (ਆਮ ਤੌਰ 'ਤੇ ਹਰ 76 ਅੱਖਰ) ਸ਼ਾਮਲ ਕਰਦੀ ਹੈ, ਪਰ ਆਧੁਨਿਕ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਆਮ ਤੌਰ 'ਤੇ ਇਹਨਾਂ ਨੂੰ ਛੱਡ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ।

  4. URL-ਸੁਰੱਖਿਅਤ ਬੇਸ64: ਮਿਆਰੀ ਬੇਸ64 "+" ਅਤੇ "/" ਅੱਖਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ ਜੋ URLs ਵਿੱਚ ਵਿਸ਼ੇਸ਼ ਅਰਥ ਰੱਖਦੇ ਹਨ। URL ਸੰਦਰਭਾਂ ਲਈ, URL-ਸੁਰੱਖਿਅਤ ਬੇਸ64 ਦੀ ਵਰਤੋਂ ਕਰੋ ਜੋ ਇਨ੍ਹਾਂ ਨੂੰ "-" ਅਤੇ "_" ਨਾਲ ਬਦਲਦੀ ਹੈ।

  5. ਖਾਲੀ ਥਾਂ: ਡੀਕੋਡਿੰਗ ਦੇ ਸਮੇਂ, ਕੁਝ ਕਾਰਜਾਂ ਲਚਕੀਲੇ ਹੁੰਦੇ ਹਨ ਅਤੇ ਖਾਲੀ ਥਾਂ ਨੂੰ ਅਣਗਿਣਤ ਕਰਦੇ ਹਨ, ਜਦੋਂ ਕਿ ਹੋਰਾਂ ਨੂੰ ਸਹੀ ਇਨਪੁਟ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

  6. ਆਕਾਰ ਵਾਧਾ: ਬੇਸ64 ਐਨਕੋਡਿੰਗ ਡੇਟਾ ਦੇ ਆਕਾਰ ਨੂੰ ਲਗਭਗ 33% ਵਧਾਉਂਦੀ ਹੈ (3 ਇਨਪੁਟ ਬਾਈਟਾਂ ਲਈ 4 ਆਉਟਪੁੱਟ ਬਾਈਟਾਂ)।

  7. ਕਾਰਗੁਜ਼ਾਰੀ: ਬੇਸ64 ਐਨਕੋਡਿੰਗ/ਡੀਕੋਡਿੰਗ ਬਹੁਤ ਵੱਡੇ ਡੇਟਾ ਲਈ ਗਣਨਾਤਮਕ ਤੌਰ 'ਤੇ ਭਾਰੀ ਹੋ ਸਕਦੀ ਹੈ। ਵੱਡੀਆਂ ਫਾਇਲਾਂ ਲਈ ਸਟ੍ਰੀਮਿੰਗ ਪਹੁੰਚਾਂ 'ਤੇ ਵਿਚਾਰ ਕਰੋ।

ਹਵਾਲੇ

  1. RFC 4648 - The Base16, Base32, and Base64 Data Encodings
  2. RFC 2045 - MIME Part One: Format of Internet Message Bodies
  3. MDN Web Docs: Base64 encoding and decoding
  4. Base64 - Wikipedia
  5. MIME - Wikipedia
Feedback