ਸਮੱਗਰੀ 'ਤੇ ਜਾਓ

ਅੱਖਰ ਫ੍ਰੀਕੁਐਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਅਤੇ ਵਿਜ਼ੁਅਲਾਈਜ਼ੇਸ਼ਨ ਟੂਲ

ਮੁਫਤ ਅੱਖਰ ਫ੍ਰੀਕੁਐਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਟੂਲ। ਤੁਰੰਤ ਅੱਖਰ ਵਿਤਰਣ ਦੇ ਪੈਟਰਨ ਨੂੰ ਵਿਜ਼ੁਅਲ ਕਰੋ। ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ, ਡਾਟਾ ਕੰਪਰੈਸ਼ਨ, ਟੈਕਸਟ ਐਨਕੋਡਿੰਗ ਪਛਾਣ ਅਤੇ ਭਾਸ਼ਾਈ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਬਿਲਕੁਲ ਸਹੀ।

ਅੱਖਰ ਫ੍ਰੀਕੁਐਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ

ਲੋਡਿੰਗ ਕੈਲਕੁਲੇਟਰ...
📚

ਦਸਤਾਵੇਜ਼ੀਕਰਣ

ਅੱਖਰ ਫ੍ਰੀਕੁਐਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਕੀ ਹੈ?

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

ਇਹ ਉਪਕਰਣ ਦੀ ਉਪਯੋਗਿਤਾ ਇਸ ਵਿੱਚ ਹੈ: ਕੋਈ ਵੀ ਪਾਠ—ਚਾਹੇ ਉਹ ਕੋਡ, ਗੁਪਤ ਸੰਦੇਸ਼ ਜਾਂ ਸਧਾਰਨ ਦਸਤਾਵੇਜ਼ ਹੋਵੇ—ਪੇਸਟ ਕਰੋ ਅਤੇ ਤੁਸੀਂ ਤੁਰੰਤ ਇੱਕ ਬਾਰ ਚਾਰਟ ਵੇਖ ਸਕੋਗੇ ਜੋ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਕਿਹੜੇ ਅੱਖਰ ਸਭ ਤੋਂ ਵੱਧ ਵਾਰ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ। ਮੈਂ ਇਸ ਨੂੰ ਵਿਸ਼ੇਸ਼ ਰੂਪ ਤੋਂ ਉਪਯੋਗੀ ਪਾਇਆ ਹੈ ਜਦੋਂ ਟੈਕਸਟ ਐਨਕੋਡਿੰਗ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਸੁਲਝਾਉਂਦਾ ਹਾਂ ਜਾਂ ਸੁਰੱਖਿਆ ਅਨੁਸੰਧਾਨ ਵਿੱਚ ਗੁਪਤ-ਲਿਖਤ ਪੈਟਰਨਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਦਾ ਹਾਂ।

ਅਸਲ ਦੁਨੀਆ ਦੇ ਅਨੁਪ੍ਰਯੋਗ ਹੈਰਾਨੀਜਨਕ ਰੂਪ ਤੋਂ ਵਿਆਪਕ ਹਨ। ਡਾਟਾ ਕੰਪਰੈਸ਼ਨ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਕੰਮ ਕਰਦੇ ਸਮੇਂ, ਆਪਣੇ ਅੱਖਰ ਵਿਤਰਣ ਨੂੰ ਜਾਣਨਾ ਤੁਹਾਨੂੰ ਸਹੀ ਐਲਗੋਰਿਦਮ ਚੁਣਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਗੁਪਤ-ਲਿਖਤ ਵਿਗਿਆਨ ਦੇ ਕੰਮ ਵਿੱਚ, ਅਸਧਾਰਨ ਫ੍ਰੀਕੁਐਂਸੀ ਪੈਟਰਨ ਬਦਲ ਗੁਪਤ-ਲਿਖਤ ਦੀਆਂ ਕਮਜ਼ੋਰੀਆਂ ਨੂੰ ਪ੍ਰਕਾਸ਼ ਕਰ ਸਕਦੇ ਹਨ। ਯਹਾਂ ਤੱਕ ਕਿ ਬੁਨਿਆਦੀ ਟੈਕਸਟ ਸੰਪਾਦਨ ਲਈ, ਅਪ੍ਰਤਿਆਸ਼ਿਤ ਅੱਖਰ ਫ੍ਰੀਕੁਐਂਸੀ ਨੂੰ ਵੇਖਣਾ ਛੁਪੇ ਹੋਏ ਫਾਰਮੈਟਿੰਗ ਮੁੱਦਿਆਂ ਜਾਂ ਐਨਕੋਡਿੰਗ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਪ੍ਰਕਾਸ਼ ਵਿੱਚ ਲਿਆ ਸਕਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਮੈਨੁਅਲ ਸਮੀਖਿਆ ਨਾਲ ਨਹੀਂ ਵੇਖ ਸਕਦੇ।

ਕੈਰੇਕਟਰ ਫ੍ਰੀਕੁਐਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ

ਮੁੱਖ ਧਾਰਣਾ ਸਰਲ ਹੈ: ਹਰੇਕ ਕੈਰੇਕਟਰ ਦੀ ਗਿਣਤੀ ਕਰੋ ਅਤੇ ਨਤੀਜਿਆਂ ਨੂੰ ਦਿੱਖਾਓ। ਪਰ ਲਾਗੂਕਰਣ ਲਈ ਦਖਲ ਦੀ ਲੋੜ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਵੱਡੀਆਂ ਟੈਕਸਟ ਫਾਈਲਾਂ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।

ਕੈਰੇਕਟਰ ਗਿਣਤੀ ਦੇ ਪਿੱਛੇ ਐਲਗੋਰਿਦਮ

ਇੱਥੇ ਵਿਸ਼ਲੇਸ਼ਣ ਤੁਹਾਡੇ ਟੈਕਸਟ ਨੂੰ ਕਿਵੇਂ ਪ੍ਰੋਸੈਸ ਕਰਦਾ ਹੈ:

  1. ਟੈਕਸਟ ਇਨਪੁਟ ਪ੍ਰੋਸੈਸਿੰਗ: ਹਰੇਕ ਕੈਰੇਕਟਰ ਨੂੰ ਵੱਖ-ਵੱਖ ਜਾਂਚਿਆ ਜਾਂਦਾ ਹੈ, ਸਪੇਸ, ਵਿਰਾਮ ਚਿੰਨ੍ਹ ਅਤੇ ਵਿਸ਼ੇਸ਼ ਚਿੰਨ੍ਹ ਸਮੇਤ।
  2. ਕੈਰੇਕਟਰ ਗਿਣਤੀ: ਇੱਕ ਹੈਸ਼ ਮੈਪ ਹਰੇਕ ਕੈਰੇਕਟਰ ਦੀ ਗਿਣਤੀ ਨੂੰ ਟਰੈਕ ਕਰਦਾ ਹੈ, ਜਦੋਂ ਵੀ ਉਹ ਕੈਰੇਕਟਰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ।
  3. ਫ੍ਰੀਕੁਐਂਸੀ ਗਣਨਾ: ਪੂਰੇ ਟੈਕਸਟ ਨੂੰ ਸਕੈਨ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਕੁੱਲ ਕੈਰੇਕਟਰ ਗਿਣਤੀ ਦੇ ਸਬੰਧ ਵਿੱਚ ਪ੍ਰਤੀਸ਼ਤ ਗਣਨਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
  4. ਡਾਟਾ ਸੋਰਟਿੰਗ: ਨਤੀਜੇ ਅਲਫਾਬੈਟਿਕ ਜਾਂ ਫ੍ਰੀਕੁਐਂਸੀ ਦੇ ਅਨੁਸਾਰ ਸੋਰਟ ਕੀਤੇ ਜਾਂਦੇ ਹਨ—ਅਲਫਾਬੈਟਿਕ ਸੋਰਟਿੰਗ ਵਿਸ਼ੇਸ਼ ਕੈਰੇਕਟਰਾਂ ਨੂੰ ਲੱਭਣਾ ਆਸਾਨ ਬਣਾਉਂਦੀ ਹੈ, ਜਦੋਂ ਕਿ ਫ੍ਰੀਕੁਐਂਸੀ ਸੋਰਟਿੰਗ ਪ੍ਰਮੁੱਖ ਪੈਟਰਨਾਂ ਨੂੰ ਉਜਾਗਰ ਕਰਦੀ ਹੈ।
  5. ਵਿਜ਼ੁਅਲਾਈਜ਼ੇਸ਼ਨ: ਬਾਰ ਚਾਰਟ ਤੁਹਾਡੇ ਨਤੀਜਿਆਂ ਨੂੰ ਤੁਰੰਤ ਦਿਖਾਉਂਦਾ ਹੈ, ਜੋ ਪੈਟਰਨਾਂ ਨੂੰ ਇੱਕ ਨਜ਼ਰ ਵਿੱਚ ਸਪੱਸ਼ਟ ਕਰਦਾ ਹੈ।

ਕੈਰੇਕਟਰ ਫ੍ਰੀਕੁਐਂਸੀ ਦਾ ਗਣਿਤਕ ਪ੍ਰਤੀਨਿਧਤਾ ਇਸ ਤਰ੍ਹਾਂ ਵਿਅਕਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ:

f(c)=ncN×100%f(c) = \frac{n_c}{N} \times 100\%

ਜਿੱਥੇ:

  • f(c)f(c) ਕੈਰੇਕਟਰ cc ਦੀ ਫ੍ਰੀਕੁਐਂਸੀ ਹੈ
  • ncn_c ਕੈਰੇਕਟਰ cc ਦੇ ਵਾਰ-ਵਾਰ ਹੋਣ ਦੀ ਸੰਖਿਆ ਹੈ
  • NN ਟੈਕਸਟ ਵਿੱਚ ਕੁੱਲ ਕੈਰੇਕਟਰਾਂ ਦੀ ਸੰਖਿਆ ਹੈ

ਡਾਟਾ ਸਟਰਕਚਰ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ

ਇੱਕ ਹੈਸ਼ ਮੈਪ (ਜਿਸਨੂੰ ਡਿਕਸ਼ਨਰੀ ਜਾਂ ਆਬਜੈਕਟ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ) ਕੈਰੇਕਟਰ ਵਾਰ-ਵਾਰ ਹੋਣ ਨੂੰ ਗਿਣਨ ਦਾ ਸਭ ਤੋਂ ਕੁਸ਼ਲ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:

11. ਇੱਕ ਖਾਲੀ ਹੈਸ਼ ਮੈਪ/ਡਿਕਸ਼ਨਰੀ ਨੂੰ ਸ਼ੁਰੂ ਕਰੋ
22. ਇਨਪੁਟ ਟੈਕਸਟ ਵਿੱਚ ਹਰੇਕ ਕੈਰੇਕਟਰ ਲਈ:
3   a. ਜੇਕਰ ਕੈਰੇਕਟਰ ਹੈਸ਼ ਮੈਪ ਵਿੱਚ ਮੌਜੂਦ ਹੈ, ਤਾਂ ਇਸਦੀ ਗਿਣਤੀ ਨੂੰ ਵਧਾਓ
4   b. ਜੇਕਰ ਨਹੀਂ, ਤਾਂ ਹੈਸ਼ ਮੈਪ ਵਿੱਚ ਕੈਰੇਕਟਰ ਨੂੰ 1 ਦੀ ਗਿਣਤੀ ਦੇ ਨਾਲ ਜੋੜੋ
53. ਹੈਸ਼ ਮੈਪ ਨੂੰ ਕੈਰੇਕਟਰ-ਗਿਣਤੀ ਜੋੜਿਆਂ ਦੇ ਐਰੇ ਵਿੱਚ ਬਦਲੋ
64. ਐਰੇ ਨੂੋ ਲੋੜ ਅਨੁਸਾਰ ਸੋਰਟ ਕਰੋ (ਅਲਫਾਬੈਟਿਕ ਜਾਂ ਫ੍ਰੀਕੁਐਂਸੀ ਦੇ ਅਨੁਸਾਰ)
75. ਸੋਰਟ ਕੀਤੇ ਐਰੇ ਦੇ ਅਧਾਰ 'ਤੇ ਵਿਜ਼ੁਅਲਾਈਜ਼ੇਸ਼ਨ ਤਿਆਰ ਕਰੋ
8

ਇਹ ਪਹੁੰਚ O(n) ਸਮਾਂ ਜਟਿਲਤਾ ਰੱਖਦੀ ਹੈ, ਜਿੱਥੇ n ਇਨਪੁਟ ਟੈਕਸਟ ਦੀ ਲੰਬਾਈ ਦੇ ਬਰਾਬਰ ਹੈ। ਇਸਦਾ ਅਰਥ ਵਾਸਤਵਿਕਤਾ ਵਿੱਚ: 100,000 ਕੈਰੇਕਟਰ ਦਸਤਾਵੇਜ਼ ਨੂੰ 100 ਕੈਰੇਕਟਰ ਦੇ ਸਨਿੱਪਟ ਦੇ ਬਰਾਬਰ ਤੇਜ਼ੀ ਨਾਲ ਪ੍ਰੋਸੈਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਹੈਸ਼ ਮੈਪ ਦੀ ਸਥਿਰ-ਸਮਾਂ ਲੁਕਅੱਪ ਇਸਨੂੰ ਸੰਭਵ ਬਣਾਉਂਦੀ ਹੈ—ਹਰੇਕ ਕੈਰੇਕਟਰ ਜਾਂਚ ਲਈ ਉਹੀ ਸਮਾਂ ਲੱਗਦਾ ਹੈ ਭਾਵੇਂ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਕਿੰਨੇ ਵੱਖ-ਵੱਖ ਕੈਰੇਕਟਰ ਗਿਣ ਚੁੱ

ਇਸ ਅੱਖਰ ਫ੍ਰੀਕਵੈਂਸੀ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ

ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਿੱਚ ਸਿਰਫ਼ ਕੁਝ ਸਕਿੰਟ ਲੱਗਦੇ ਹਨ। ਬੱਸ ਆਪਣਾ ਟੈਕਸਟ ਪੇਸਟ ਕਰੋ ਅਤੇ ਵੇਖੋ ਕਿ ਵਿਸ਼ਲੇਸ਼ਣ ਆਪਣੇ-ਆਪ ਹੋ ਜਾਂਦਾ ਹੈ।

ਆਪਣਾ ਟੈਕਸਟ ਦਾਖਲ ਕਰੋ

ਟੂਲ ਤੁਹਾਡੇ ਵੱਲੋਂ ਦਿੱਤੀ ਗਈ ਕੋਈ ਵੀ ਚੀਜ਼ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ:

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

ਆਮ ਵਰਤੋਂ ਲਈ ਕੋਈ ਵਾਸਤਵਿਕ ਲੰਬਾਈ ਸੀਮਾ ਨਹੀਂ ਹੈ—ਇੱਕ ਪੈਰਾਗ੍ਰਾਫ਼ ਜਾਂ ਇੱਕ ਪੂਰਾ ਅਧਿਆਇ ਪੇਸਟ ਕਰੋ।

ਰੀਅਲ-ਟਾਈਮ ਵਿਸ਼ਲੇਸ਼ਣ

ਇੱਥੇ ਕੁਝ ਉਪਯੋਗੀ ਹੈ: ਟੂਲ ਤੁਹਾਡੇ ਟੈਕਸਟ ਨੂੰ ਤੁਹਾਡੇ ਟਾਈਪ ਕਰਨ ਦੇ ਨਾਲ-ਨਾਲ ਪ੍ਰੋਸੈਸ ਕਰਦਾ ਹੈ। ਕੋਈ "ਕੈਲਕੂਲੇਟ" ਬਟਨ ਨਹੀਂ ਦਬਾਉਣਾ, ਕੋਈ ਉਡੀਕ ਨਹੀਂ। ਆਪਣਾ ਟੈਕਸਟ ਪੇਸਟ ਕਰੋ ਅਤੇ ਬਾਰ ਚਾਰਟ ਤੁਰੰਤ ਅਪਡੇਟ ਹੋ ਜਾਵੇਗਾ। ਇਹ ਪ੍ਰਯੋਗ ਕਰਨ ਨੂੰ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ—ਵੱਖ-ਵੱਖ ਟੈਕਸਟ ਨਮੂਨੇ ਅਜ਼ਮਾਓ ਅਤੇ ਤੁਰੰਤ ਵੇਖੋ ਕਿ ਅੱਖਰ ਵਿਤਰਣ ਕਿਵੇਂ ਬਦਲਦਾ ਹੈ।

ਆਪਣੇ ਨਤੀਜਿਆਂ ਨੂੰ ਪੜ੍ਹਨਾ

ਵਿਜ਼ੁਅਲਾਈਜ਼ੇਸ਼ਨ ਤਿੰਨ ਮੁੱਖ ਚੀਜ਼ਾਂ ਦਿਖਾਉਂਦੀ ਹੈ:

  • ਬਾਰ ਚਾਰਟ: ਹਰੇਕ ਬਾਰ ਇੱਕ ਅੱਖਰ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ। ਲੰਬੀਆਂ ਬਾਰਾਂ ਦਾ ਮਤਲਬ ਹੈ ਵੱਧ ਫ੍ਰੀਕਵੈਂਸੀ। ਤੁਸੀਂ ਜਲਦੀ ਹੀ ਪਤਾ ਲਗਾ ਲਓਗੇ ਕਿ ਤੁਹਾਡੇ ਟੈਕਸਟ ਵਿੱਚ ਕਿਹੜੇ ਅੱਖਰ ਦਬਦਬਾ ਰੱਖਦੇ ਹਨ।
  • ਕੁੱਲ ਅੱਖਰ ਗਿਣਤੀ: ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਟੈਕਸਟ ਵਿੱਚ ਸਮੇਤ ਸਪੇਸ ਅਤੇ ਵਿਰਾਮ ਚਿੰਨ੍ਹ ਕਿੰਨੇ ਅੱਖਰ ਹਨ।
  • ਵਿਅਕਤੀਗਤ ਗਿਣਤੀ: ਕਿਸੇ ਵੀ ਬਾਰ ਉੱਤੇ ਹੋਵਰ ਕਰੋ ਤਾਂ ਉਸ ਅੱਖਰ ਲਈ ਸਹੀ ਗਿਣਤੀ ਵੇਖ ਸਕੋਗੇ।

ਕੀ ਲੱਭਣਾ ਹੈ: ਅੰਗਰੇਜ਼ੀ ਟੈਕਸਟ ਵਿੱਚ, ਤੁਸੀਂ ਆਮ ਤੌਰ 'ਤੇ 'ਈ', 'ਟੀ', 'ਏ', 'ਓ' ਅਤੇ 'ਆਈ' ਨੂੰ ਸਭ ਤੋਂ ਉੱਪਰ ਦੇਖਣ ਦੀ ਉਮੀਦ ਕਰ ਸਕਦੇ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ ਅਸਧਾਰਨ ਪੈਟਰਨ ਵੇਖਦੇ ਹੋ—ਜਿਵੇਂ ਕਿ 'ਕਿਊ' ਜਾਂ 'ਜ਼ੈਡ' ਅਕਸਰ ਦਿਖਾਈ ਦੇ ਰਹੇ ਹਨ—ਤਾਂ ਇਹ ਸੰਕੇਤ ਦੇ ਸਕਦਾ ਹੈ ਕਿ ਸਾਈਫਰ ਵਿਨਿਮਾ ਜਾਂ ਐਨਕੋਡਿੰਗ ਸਮੱਸਿਆਵਾਂ ਹਨ।

ਕਾਪੀ ਅਤੇ ਐਕਸਪੋਰਟ

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

ਅੱਖਰ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਦੇ ਵਾਸਤਵਿਕ ਦੁਨੀਆਂ ਦੇ ਉਪਯੋਗ ਕੇਸ

ਅੱਖਰ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਹੈਰਾਨੀਜਨਕ ਤੌਰ 'ਤੇ ਵੱਖ-ਵੱਖ ਖੇਤਰਾਂ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਇੱਥੇ ਇਹ ਵਾਸਤਵ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ:

ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਅਤੇ ਸਬਸਟੀਟਿਊਸ਼ਨ ਸਾਈਫਰ ਤੋੜਨਾ

ਇੱਥੇ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਨੇ ਆਪਣੀ ਪ੍ਰਤਿਸ਼ਠਾ ਕਮਾਈ। ਸਰਲ ਸਬਸਟੀਟਿਊਸ਼ਨ ਸਾਈਫਰ—ਜਿੱਥੇ ਹਰ ਅੱਖਰ ਦੂਜੇ ਅੱਖਰ ਨੂੰ ਮੈਪ ਕਰਦਾ ਹੈ—ਮੂਲ ਭਾਸ਼ਾ ਦੇ ਫ੍ਰੀਕਵੈਂਸੀ ਪੈਟਰਨ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦਾ ਹੈ।

ਵਾਸਤਵਿਕ ਉਦਾਹਰਣ: ਤੁਸੀਂ ਇੱਕ ਐਨਕ੍ਰਿਪਟਡ ਸੁਨੇਹੇ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰ ਰਹੇ ਹੋ ਅਤੇ ਨੋਟ ਕਰਦੇ ਹੋ ਕਿ ਇੱਕ ਚਿੰਨ੍ਹ 12.7% ਸਮੇਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਅੰਗਰੇਜ਼ੀ ਵਿੱਚ, 'E' ਆਮ ਤੌਰ 'ਤੇ 12.7% ਵਾਰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ, ਇਸਲਈ ਉਹ ਚਿੰਨ੍ਹ ਸੰਭਾਵਤ ਤੌਰ 'ਤੇ 'E' ਦਾ ਪ੍ਰਤੀਨਿਧਿਤਵ ਕਰਦਾ ਹੈ। ਦੂਜੇ ਅਤੇ ਤੀਜੇ ਸਭ ਤੋਂ ਆਮ ਚਿੰਨ੍ਹਾਂ (ਸੰਭਾਵਤ ਤੌਰ 'ਤੇ 'T' ~9% ਅਤੇ 'A' ~8%) ਨਾਲ ਕ੍ਰਾਸ-ਰੈਫਰੈਂਸ ਕਰੋ, ਅਤੇ ਤੁਹਾਡੇ ਕੋਲ ਸਾਈਫਰ ਵਿੱਚ ਪਹਿਲੀ ਦਰਾਰ ਹੈ।

ਆਧੁਨਿਕ ਐਨਕ੍ਰਿਪਸ਼ਨ ਜਿਵੇਂ AES-256 ਦੇ ਇਸ ਕਮਜ਼ੋਰੀ ਨਹੀਂ ਹੈ—ਇਹ ਸਭ ਕੁਝ ਇੰਨਾ ਚੰਗੀ ਤਰ੍ਹਾਂ ਮਿਸ਼ਰਤ ਕਰਦਾ ਹੈ ਕਿ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਕੁਝ ਵੀ ਨਹੀਂ ਦਰਸਾਉਂਦਾ। ਪਰ ਸਬਸਟੀਟਿਊਸ਼ਨ ਸਾਈਫਰ ਅਜੇ ਵੀ ਪਹੇਲੀਆਂ, CTF ਪ੍ਰਤਿਯੋਗਤਾਵਾਂ ਅਤੇ ਐਤਿਹਾਸਿਕ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ।

[ਬਾਕੀ ਅਨੁਵਾਦ ਜਾਰੀ ਹੈ...]

ਵਿਕਲਪਿਕ ਟੈਕਸਟ ਵਿਸ਼ਲੇਸ਼ਣ ਵਿਧੀਆਂ ਦੀ ਵਰਤੋਂ ਕਦੋਂ ਕਰਨੀ ਹੈ

ਅੱਖਰ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਦੇ ਆਪਣੇ ਮਜਬੂਤ ਪੱਖ ਹਨ, ਪਰ ਕਈ ਵਾਰ ਤੁਹਾਨੂੰ ਇੱਕ ਵੱਖਰੇ ਦ�ृਸ਼ਟਿਕੋਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਇੱਥੇ ਹੋਰ ਵੀ ਕੀ ਮੌਜੂਦ ਹੈ ਅਤੇ ਕਦੋਂ ਹਰੇਕ ਸਮਝ ਵਿੱਚ ਆਉਂਦਾ ਹੈ:

ਸ਼ਬਦ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ

ਅੱਖਰਾਂ ਦੀ ਬਜਾਏ ਸ਼ਬਦਾਂ ਦੀ ਗਿਣਤੀ ਕਰਨ ਨਾਲ ਸੈਮੈਂਟਿਕ ਪੈਟਰਨ ਪ੍ਰਕਾਸ਼ ਵਿੱਚ ਆਉਂਦੇ ਹਨ—ਟੈਕਸਟ ਅਸਲ ਵਿੱਚ ਕਿਵੇਂ ਹੈ, ਸਿਰਫ਼ ਇਸਦੀ ਅੱਖਰ ਬਣਤਰ ਤੋਂ ਇਲਾਵਾ।

ਇਸ ਲਈ ਬਿਹਤਰ: ਸਮੱਗਰੀ ਵਿਸ਼ਲੇਸ਼ਣ, SEO ਕੀਵਰਡ ਖੋਜ, ਜਾਂ ਵਿਸ਼ਾ ਪਛਾਣ। ਜੇ ਤੁਸੀਂ ਬਲੌਗ ਪੋਸਟਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਥੀਮ ਲੱਭਣ ਜਾਂ ਇੰਡੈਕਸਿੰਗ ਲਈ ਕੀਵਰਡ ਕੱਢਣ, ਸ਼ਬਦ ਫ੍ਰੀਕਵੈਂਸੀ ਤੁਹਾਨੂੰ ਅਰਥਪੂਰਣ ਨਤੀਜੇ ਦਿੰਦੀ ਹੈ ਜੋ ਅੱਖਰ ਵਿਸ਼ਲੇਸ਼ਣ ਨਹੀਂ ਕਰ ਸਕਦਾ।

N-ਗ੍ਰਾਮ ਵਿਸ਼ਲੇਸ਼ਣ

N-ਗ੍ਰਾਮ ਅੱਖਰਾਂ ਜਾਂ ਸ਼ਬਦਾਂ ਦੇ ਅਨੁਕ੍ਰਮਾਂ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਨ—ਬਾਈਗ੍ਰਾਮ (ਦੋ-ਅੱਖਰ ਜੋੜੇ), ਟ੍ਰਾਈਗ੍ਰਾਮ (ਤਿੰਨ-ਅੱਖਰ ਜੋੜੇ), ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ। ਇਹ ਸੰਦਰਭਕ ਪੈਟਰਨ ਨੂੰ ਫੜਦਾ ਹੈ।

ਇਸ ਲਈ ਬਿਹਤਰ: ਭਵਿੱਖਵਾਣੀ ਟੈਕਸਟ ਸਿਸਟਮ, ਆਟੋਕਰੈਕਟ ਫੀਚਰ, ਅਤੇ ਭਾਸ਼ਾ ਮਾਡਲਿੰਗ। ਤੁਹਾਡੇ ਫ਼ੋਨ ਦੀ ਕੀਬੋਰਡ N-ਗ੍ਰਾਮ ਵਿਸ਼ਲੇਸ਼ਣ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ ਤਾਂ ਜੋ ਅਗਲਾ ਸ਼ਬਦ ਭਵਿੱਖਵਾਣੀ ਕੀਤਾ ਜਾ ਸਕੇ। ਇਹ ਜਾਣਦੀ ਹੈ ਕਿ "the" ਅਕਸਰ ਇੱਕ ਨਾਮ ਦੁਆਰਾ ਅਨੁਸਰਣ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਇਕੱਲੇ ਅੱਖਰਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਨਹੀਂ ਬਲਕਿ ਸਿੱਖੇ ਗਏ ਸ਼ਬਦ ਅਨੁਕ੍ਰਮ ਦੇ ਆਧਾਰ 'ਤੇ।

ਭਾਵਨਾ ਵਿਸ਼ਲੇਸ਼ਣ

ਇਹ NLP ਤਕਨੀਕਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਭਾਵਨਾਤਮਕ ਟੋਨ (ਸਕਾਰਾਤਮਕ, ਨਕਾਰਾਤਮਕ, ਤਟਸਥ) ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ।

ਇਸ ਲਈ ਬਿਹਤਰ: ਗਾਹਕ ਸਮੀਖਿਆ ਵਿਸ਼ਲੇਸ਼ਣ, ਸੋਸ਼ਲ ਮੀਡੀਆ ਨਿਗਰਾਨੀ, ਜਾਂ ਬ੍ਰਾਂਡ ਧਾਰਨਾ ਟਰੈਕਿੰਗ। ਜੇ ਤੁਹਾਨੂੰ ਇਹ ਜਾਣਨ ਦੀ ਲੋੜ ਹੈ ਕਿ ਲੋਕ ਕਿਸੇ ਚੀਜ਼ ਬਾਰੇ ਖੁਸ਼ ਹਨ ਜਾਂ ਨਾਰਾਜ਼, ਭਾਵਨਾ ਵਿਸ਼ਲੇਸ਼ਣ ਤੁਹਾਨੂੰ ਉਹ ਜਵਾਬ ਦਿੰਦਾ ਹੈ ਜੋ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਨਹੀਂ ਦੇ ਸਕਦਾ।

ਪੜ੍ਹਨ ਯੋਗਤਾ ਵਿਸ਼ਲੇਸ਼ਣ

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

ਇਸ ਲਈ ਬਿਹਤਰ: ਸਿੱਖਿਆ ਸਮੱਗਰੀ ਮੁਲਾਂਕਣ, ਤਕਨੀਕੀ ਦਸਤਾਵੇਜ਼ੀਕਰਣ ਮੁਲਾਂਕਣ, ਜਾਂ ਪਹੁੰਚ ਯੋਗਤਾ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ। ਆਮ ਦਰਸ਼ਕਾਂ ਲਈ ਸਮੱਗਰੀ ਪ੍ਰਕਾਸ਼ਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਪੜ੍ਹਨ ਯੋਗਤਾ ਸਕੋਰ ਤੁਹਾਨੂੰ ਉਹਨਾਂ ਜਟਿਲ ਭਾਗਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ ਜੋ ਪਾਠਕਾਂ ਨੂੰ ਭ੍ਰਮਤ ਕਰ ਸਕਦੇ ਹਨ।

ਅੱਖਰ ਫ੍ਰੀਕੁਐਂਸੀ ਵਿਸ਼਼ਲੇਸ਼ਣ ਦਾ ਇਤਿਹਾਸ

ਇਹ ਤਕਨੀਕ ਹਜ਼ਾਰ ਸਾਲਾਂ ਤੋਂ ਕੋਡ ਤੋੜ ਰਹੀ ਹੈ। ਇੱਥੇ ਇਹ ਕਿਵੇਂ ਵਿਕਸਿਤ ਹੋਇਆ:

9ਵੀਂ ਸਦੀ: ਪਹਿਲਾ ਮੋੜ

ਅਰਬ ਬਹੁ-ਗੁਣੀ ਅਲ-ਕਿੰਦੀ ਨੇ ਆਪਣੇ ਲੇਖ "ਗੁਪਤ ਸੰਦੇਸ਼ਾਂ ਨੂੰ ਡੀਕੋਡ ਕਰਨ ਬਾਰੇ ਇੱਕ ਲੇਖ" ਵਿੱਚ ਫ੍ਰੀਕੁਐਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਦਾ ਸਭ ਤੋਂ ਪੁਰਾਣਾ ਜਾਣਿਆ ਵੇਰਵਾ ਦਸਤਾਵੇਜ਼ ਕੀਤਾ। ਉਸ ਨੇ ਮਹਿਸੂਸ ਕੀਤਾ ਕਿ ਅਰਬੀ ਪਾਠ ਵਿੱਚ ਕੁਝ ਅੱਖਰ ਵਧੇਰੇ ਵਾਰ ਆਉਂਦੇ ਹਨ, ਅਤੇ ਇਹ ਪੈਟਰਨ ਸਰਲ ਵਿਨਿਮੇਯ ਗੁਪਤ ਲਿਪੀਆਂ ਦੇ ਬਾਅਦ ਵੀ ਬਣਿਆ ਰਹਿੰਦਾ ਹੈ। ਇਹ ਸਮਝ ਨੇ ਗੁਪਤ ਲਿਪੀ ਵਿਗਿਆਨ ਨੂੰ ਕ੍ਰਾਂਤੀਕਾਰੀ ਬਣਾ ਦਿੱਤਾ—ਅਚਾਨਕ, ਗੁਪਤ ਸੰਦੇਸ਼ ਉਨ੍ਹਾਂ ਨੂੰ ਉਤਨਾ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਲੱਗ ਰਿਹਾ ਸੀ ਜਿੰਨਾ ਸਭ ਸੋਚ ਰਹੇ ਸਨ।

ਰੇਨੇਸਾਂ: ਹਥਿਆਰਾਂ ਦੀ ਦੌੜ ਸ਼ੁਰੂ ਹੋਈ

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

ਦੂਜੀ ਵਿਸ਼ਵ ਯੁੱਧ: ਔਦਯੋਗਿਕ ਪੱਧਰ ਦਾ ਗੁਪਤ ਲਿਪੀ ਵਿਗਿਆਨ

ਬਲੇਟਚਲੇ ਪਾਰਕ ਦੇ ਬ੍ਰਿਟਿਸ਼ ਕੋਡ ਤੋੜਨ ਵਾਲੇ—ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਅਲਨ ਟੂਰਿੰਗ ਅਤੇ ਉਸਦੀ ਟੀਮ ਸ਼ਾਮਲ ਸੀ—ਨੇ ਜਰਮਨ ਏਨਿਗਮਾ ਮਸ਼ੀਨ ਨੂੰ ਤੋੜਨ ਵਿੱਚ ਇੱਕ ਭਾਗ ਵਜੋਂ ਫ੍ਰੀਕੁਐਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਦੀ ਵਰਤੋਂ ਕੀਤੀ। ਹਾਲਾਂਕਿ ਪੂਰੀ ਪ੍ਰਕਿਰਿਆ ਬਹੁਤ ਵਧੇਰੇ ਜਟਿਲ ਸੀ, ਅੱਖਰ ਅਤੇ ਅੱਖਰ ਫ੍ਰੀਕੁਐਂਸੀ ਪੈਟਰਨ ਨੂੰ ਸਮਝਣ ਨੇ ਕ੍ਰਿਬਸ (ਜਾਣੇ ਹੋਏ ਪਲੇਨਟੈਕਸਟ ਟੁਕੜੇ) ਦੀ ਪਛਾਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕੀਤੀ ਜੋ ਪੂਰੇ ਸੰਦੇਸ਼ਾਂ ਨੂੰ ਖੋਲ੍ਹ ਸਕਦੇ ਸਨ।

ਆਧੁਨਿਕ ਯੁੱਗ: ਗੁਪਤ ਲਿਪੀ ਤੋਂ ਅੱਗੇ

ਜਦੋਂ ਕੰਪਿਊਟਰ ਆਏ, ਫ੍ਰੀਕੁਐਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਸਵੈਚਾਲਿਤ ਹੋ ਗਿਆ ਅਤੇ ਨਵੇਂ ਉਪਯੋਗਾਂ ਨੂੰ ਲੱਭਿਆ। ਉਹ ਹੀ ਗਣਿਤਕ ਸਿਧਾਂਤ ਜੋ ਕੋਡ ਤੋੜਦੇ ਹਨ, ਸੰਕੁਚਨ ਐਲਗੋਰਿਦਮ (ਹਫਮੈਨ ਕੋਡਿੰਗ, LZ77), ਭਾਸ਼ਾ ਪਛਾਣ ਵਿੱਚ NLP ਸਿਸਟਮ, ਅਤੇ ਵਿਸ਼ਾਲ ਪਾਠ ਡੇਟਾਸੈਟ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਵਿੱਚ ਵੀ ਅਨੁਕੂਲਨ ਕਰਦੇ ਹਨ। ਜੋ ਗੁਪਤ ਲਿਪੀ ਤਕਨੀਕ ਵਜੋਂ ਸ਼ੁਰੂ ਹੋਇਆ, ਉਹ ਸੂਚਨਾ ਸਿਧਾਂਤ ਅਤੇ ਕੰਪਿਊਟਰ ਵਿਗਿਆਨ ਵਿੱਚ ਇੱਕ ਮੂਲ ਔਜ਼ਾਰ ਬਣ ਗਿਆ।

ਕੋਡ ਉਦਾਹਰਣਾਂ

ਇੱਥੇ ਵੱਖ-ਵੱਖ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਅੱਖਰ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਦੀਆਂ ਲਾਗਤਾਂ ਹਨ:

ਪਾਈਥਨ

1def analyze_character_frequency(text):
2    # ਇੱਕ ਖਾਲੀ ਡਿਕਸ਼ਨਰੀ ਨੂੰ ਸ਼ੁਰੂ ਕਰੋ
3    frequency = {}
4    
5    # ਹਰੇਕ ਅੱਖਰ ਦੀ ਗਿਣਤੀ ਕਰੋ
6    for char in text:
7        if char in frequency:
8            frequency[char] += 1
9        else:
10            frequency[char] = 1
11    
12    # ਟੂਪਲ ਦੀ ਸੂਚੀ ਵਿੱਚ ਬਦਲੋ ਅਤੇ ਵਰਣਮਾਲਾ ਅਨੁਸਾਰ ਸਜਾਓ
13    result = sorted(frequency.items())
14    
15    return result
16
17# ਉਦਾਹਰਣ ਵਰਤੋਂ
18text = "Hello, World!"
19frequencies = analyze_character_frequency(text)
20for char, count in frequencies:
21    print(f"'{char}': {count}")
22

ਜਾਵਾਸਕ੍ਰਿਪਟ

1function analyzeCharacterFrequency(text) {
2  // ਇੱਕ ਖਾਲੀ ਆਬਜੈਕਟ ਨੂੰ ਸ਼ੁਰੂ ਕਰੋ
3  const frequency = {};
4  
5  // ਹਰੇਕ ਅੱਖਰ ਦੀ ਗਿਣਤੀ ਕਰੋ
6  for (let i = 0; i < text.length; i++) {
7    const char = text[i];
8    if (frequency[char]) {
9      frequency[char]++;
10    } else {
11      frequency[char] = 1;
12    }
13  }
14  
15  // ਆਬਜੈਕਟ ਦੀ ਸਰਣੀ ਵਿੱਚ ਬਦਲੋ ਅਤੇ ਵਰਣਮਾਲਾ ਅਨੁਸਾਰ ਸਜਾਓ
16  const result = Object.entries(frequency)
17    .map(([char, count]) => ({ char, count }))
18    .sort((a, b) => a.char.localeCompare(b.char));
19  
20  return result;
21}
22
23// ਉਦਾਹਰਣ ਵਰਤੋਂ
24const text = "Hello, World!";
25const frequencies = analyzeCharacterFrequency(text);
26frequencies.forEach(item => {
27  console.log(`'${item.char}': ${item.count}`);
28});
29

ਜਾਵਾ

1import java.util.*;
2
3public class CharacterFrequencyAnalyzer {
4    public static List<Map.Entry<Character, Integer>> analyzeCharacterFrequency(String text) {
5        // ਇੱਕ ਹੈਸ਼ਮੈਪ ਨੂੰ ਸ਼ੁਰੂ ਕਰੋ
6        Map<Character, Integer> frequency = new HashMap<>();
7        
8        // ਹਰੇਕ ਅੱਖਰ ਦੀ ਗਿਣਤੀ ਕਰੋ
9        for (int i = 0; i < text.length(); i++) {
10            char c = text.charAt(i);
11            frequency.put(c, frequency.getOrDefault(c, 0) + 1);
12        }
13        
14        // ਸੂਚੀ ਵਿੱਚ ਬਦਲੋ ਅਤੇ ਵਰਣਮਾਲਾ ਅਨੁਸਾਰ ਸਜਾਓ
15        List<Map.Entry<Character, Integer>> result = new ArrayList<>(frequency.entrySet());
16        result.sort(Map.Entry.comparingByKey());
17        
18        return result;
19    }
20    
21    public static void main(String[] args) {
22        String text = "Hello, World!";
23        List<Map.Entry<Character, Integer>> frequencies = analyzeCharacterFrequency(text);
24        
25        for (Map.Entry<Character, Integer> entry : frequencies) {
26            System.out.println("'" + entry.getKey() + "': " + entry.getValue());
27        }
28    }
29}
30

ਸੀ++

1#include <iostream>
2#include <string>
3#include <map>
4#include <vector>
5#include <algorithm>
6
7std::vector<std::pair<char, int>> analyzeCharacterFrequency(const std::string& text) {
8    // ਇੱਕ ਮੈਪ ਨੂੰ ਸ਼ੁਰੂ ਕਰੋ
9    std::map<char, int> frequency;
10    
11    // ਹਰੇਕ ਅੱਖਰ ਦੀ ਗਿਣਤੀ ਕਰੋ
12    for (char c : text) {
13        frequency[c]++;
14    }
15    
16    // ਜੋੜਿਆਂ ਦੀ ਸਰਣੀ ਵਿੱਚ ਬਦਲੋ
17    std::vector<std::pair<char, int>> result(frequency.begin(), frequency.end());
18    
19    // ਮੈਪ ਪਹਿਲਾਂ ਹੀ ਕੁੰਜੀ (ਅੱਖਰ) ਦੁਆਰਾ ਸਜਾਇਆ ਗਿਆ ਹੈ
20    return result;
21}
22
23int main() {
24    std::string text = "Hello, World!";
25    auto frequencies = analyzeCharacterFrequency(text);
26    
27    for (const auto& pair : frequencies) {
28        std::cout << "'" << pair.first << "': " << pair.second << std::endl;
29    }
30    
31    return 0;
32}
33

ਰੂਬੀ

1def analyze_character_frequency(text)
2  # ਇੱਕ ਖਾਲੀ ਹੈਸ਼ ਨੂੰ ਸ਼ੁਰੂ ਕਰੋ
3  frequency = Hash.new(0)
4  
5  # ਹਰੇਕ ਅੱਖਰ ਦੀ ਗਿਣਤੀ ਕਰੋ
6  text.each_char do |char|
7    frequency[char] += 1
8  end
9  
10  # ਸਰਣੀ ਦੀ ਸੂਚੀ ਵਿੱਚ ਬਦਲੋ ਅਤੇ ਵਰਣਮਾਲਾ ਅਨੁਸਾਰ ਸਜਾਓ
11  result = frequency.to_a.sort_by { |char, _| char }
12  
13  return result
14end
15
16# ਉਦਾਹਰਣ ਵਰਤੋਂ
17text = "Hello, World!"
18frequencies = analyze_character_frequency(text)
19frequencies.each do |char, count|
20  puts "'#{char}': #{count}"
21end
22

ਅਕਸਰ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਸਵਾਲ

ਅੱਖਰ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਦਾ ਕੀ ਉਪਯੋਗ ਹੈ?

ਅੱਖਰ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਟੈਕਸਟ ਵਿੱਚ ਹਰੇਕ ਅੱਖਰ ਦੇ ਪ੍ਰਗਟਾਵੇ ਦੀ ਗਿਣਤੀ ਕਰਦਾ ਹੈ। ਮੁੱਖ ਉਪਯੋਗ: ਬਦਲਣ ਵਾਲੇ ਗੁਪਤ ਲਿਖਤ ਨੂੰ ਤੋੜਨਾ, ਡੇਟਾ ਸੰਕੁਚਨ ਐਲਗੋਰਿਦਮ (ਜਿਵੇਂ ZIP ਫਾਈਲਾਂ) ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨਾ, ਟੈਕਸਟ ਐਨਕੋਡਿੰਗ ਗਲਤੀਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣਾ, NLP ਸਿਸਟਮਾਂ ਵਿੱਚ ਭਾਸ਼ਾਵਾਂ ਦੀ ਪਛਾਣ ਕਰਨਾ, ਅਤੇ ਲਿਖਣ ਦੇ ਪੈਟਰਨ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨਾ। ਇਹ ਇੱਕ ਮੂਲ ਤਕਨੀਕ ਹੈ ਜੋ 1,000 ਤੋਂ ਵੱਧ ਸਾਲਾਂ ਤੋਂ ਗੁਪਤ ਲਿਖਤ ਵਿੱਚ ਵਰਤੀ ਜਾ ਰਹੀ ਹੈ।

ਸਟੀਕ ਨਤੀਜੇ ਲਈ ਮੈਨੂੰ ਕਿੰਨਾ ਟੈਕਸਟ ਚਾਹੀਦਾ ਹੈ?

ਆਮ ਭਾਸ਼ਾ ਪੈਟਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਘੱਟੋ-ਘੱਟ ਕੁਝ ਸੈਂਕੜੇ ਅੱਖਰ ਚਾਹੀਦੇ ਹਨ—ਲਗਭਗ 2-3 ਪੈਰਾਗ੍ਰਾਫ। ਛੋਟੇ ਵਾਕ ਅਪੇਖਿਤ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਤਰਣ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਉਂਦੇ ਕਿਉਂਕਿ ਉਨ੍ਹਾਂ ਵਿੱਚ ਬਹੁਤ ਯਾਦਗਿਰੀ ਵਾਰਿਏਸ਼ਨ ਹੁੰਦਾ ਹੈ। ਜਦੋਂ ਤੁਸੀਂ 1,000+ ਅੱਖਰਾਂ ਤੱਕ ਪਹੁੰਚ ਜਾਂਦੇ ਹੋ, ਤਾਂ ਪੈਟਰਨ ਸਥਿਰ ਹੋ ਜਾਂਦੇ ਹਨ ਅਤੇ ਅਸਲ ਭਾਸ਼ਾ ਜਾਂ ਲੇਖਕ ਦੇ ਸਟਾਈਲ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ। ਗੁਪਤ ਲਿਖਤ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ, ਹੋਰ ਟੈਕਸਟ ਹਮੇਸ਼ਾ ਮਦਦ ਕਰਦਾ ਹੈ—20-ਅੱਖਰ ਦੇ ਗੁਪਤ ਲਿਖਤ ਨੂੰ ਤੋੜਨਾ ਲਗਭਗ ਅਸੰਭਵ ਹੈ, ਪਰ 500-ਅੱਖਰ ਦਾ ਨਮੂਨਾ ਤੁਹਾਨੂੰ ਠੋਸ ਪੈਟਰਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।

ਕੀ ਇਹ AES ਜਾਂ HTTPS ਵਰਗੀ ਆਧੁਨਿਕ ਐਨਕ੍ਰਿਪਸ਼ਨ ਤੋੜ ਸਕਦਾ ਹੈ?

ਨਹੀਂ। ਅੱਖਰ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਸਿਰਫ ਸਰਲ ਬਦਲਣ ਵਾਲੇ ਗੁਪਤ ਲਿਖਤ 'ਤੇ ਕੰਮ ਕਰਦਾ ਹੈ ਜਿੱਥੇ ਹਰ ਅੱਖਰ ਲਗਾਤਾਰ ਦੂਜੇ ਅੱਖਰ ਜਾਂ ਚਿੰਨ੍ਹ ਨਾਲ ਮੈਪ ਹੁੰਦਾ ਹੈ। ਆਧੁਨਿਕ ਐਨਕ੍ਰਿਪਸ਼ਨ (AES-256, RSA, TLS/HTTPS) ਗਣਿਤਕ ਰੂਪਾਂਤਰਣਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਜੋ ਇੰਨੀਆਂ ਜਟਿਲ ਹਨ ਕਿ ਐਨਕ੍ਰਿਪਟ ਕੀਤਾ ਆਉਟਪੁੱਟ ਪੂਰੀ ਤਰ੍ਹਾਂ ਯਾਦਗਿਰੀ ਲੱਗਦਾ ਹੈ—ਕੋਈ ਫ੍ਰੀਕਵੈਂਸੀ ਪੈਟਰਨ ਨਹੀਂ ਬਚਦੇ। ਜੇਕਰ ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ HTTPS ਨੂੰ ਤੋੜ ਸਕਦਾ, ਤਾਂ ਆਨਲਾਈਨ ਬੈਂਕਿੰਗ ਮੌਜੂਦ ਨਾ ਹੁੰਦੀ।

(ਅਨੁਵਾਦ ਜਾਰੀ...)

ਤਕਨੀਕੀ ਸੰਦਰਭ ਅਤੇ ਹੋਰ ਪੜ੍ਹਾਈ

  1. MDN ਵੈੱਬ ਡੌਕਸ: ਮੈਪ (JavaScript ਹੈਸ਼ ਮੈਪ ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ) - ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਵਿੱਚ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਹੈਸ਼ ਮੈਪ ਡਾਟਾ ਸਟਰਕਚਰ 'ਤੇ ਮੋਜ਼ੀਲਾ ਡਿਵੈਲਪਰ ਨੈੱਟਵਰਕ ਦਾ ਅਧਿਕਾਰਿਕ ਦਸਤਾਵੇਜ਼.

  2. ਸ਼ੈਨਨ, ਸੀ. ਈ. (1951). "ਪ੍ਰਿੰਟਡ ਅੰਗਰੇਜ਼ੀ ਦਾ ਅਨੁਮਾਨ ਅਤੇ ਐਨਟਰੋਪੀ." ਦ ਬੈੱਲ ਸਿਸਟਮ ਤਕਨੀਕੀ ਜਰਨਲ, 30(1), 50-64. - ਸੂਚਨਾ ਸਿਧਾਂਤ ਅਤੇ ਅੱਖਰ ਫ੍ਰੀਕਵੈਂਸੀ 'ਤੇ ਮੂਲ ਪੇਪਰ.

  3. ਹਫਮੈਨ, ਡੀ. ਏ. (1952). "ਨਿਊਨਤਮ-ਰੀਡੰਡੈਂਸੀ ਕੋਡ ਦੇ ਨਿਰਮਾਣ ਦੀ ਇੱਕ ਵਿਧੀ." ਪ੍ਰੋਸੀਡਿੰਗਜ਼ ਆਫ਼ ਦ ਆਈਆਰਈ, 40(9), 1098-1101. - ਹਫਮੈਨ ਕੋਡਿੰਗ ਦਾ ਮੂਲ ਪੇਪਰ, ਜੋ ਅੱਖਰ ਫ੍ਰੀਕਵੈਂਸੀ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ.

  4. ਯੂਨੀਕੋਡ ਅੱਖਰ ਐਨਕੋਡਿੰਗ ਮਾਨਕ - ਅੱਖਰ ਸੈੱਟ ਅਤੇ ਐਨਕੋਡਿੰਗ ਨੂੰ ਸਮਝਣ ਲਈ ਯੂਨੀਕੋਡ ਕੌਂਸੋਰਟੀਅਮ ਦਾ ਅਧਿਕਾਰਿਕ ਦਸਤਾਵੇਜ਼.

  5. ਸਟਾਲਿੰਗਜ਼, ਡਬਲਯੂ. (2017). ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਅਤੇ ਨੈੱਟਵਰਕ ਸੁਰੱਖਿਆ: ਸਿਧਾਂਤ ਅਤੇ ਅਭਿਆਸ (7ਵਾਂ ਸੰਸਕਰਣ). ਪੀਅਰਸਨ. - ਫ੍ਰੀਕਵੈਂਸੀ ਵਿਸ਼ਲੇਸ਼ਣ ਸਮੇਤ ਕ੍ਰਿਪਟੋਵਿਸ਼ਲੇਸ਼ਣ ਤਕਨੀਕਾਂ ਨੂੰ ਕਵਰ ਕਰਨ ਵਾਲੀ ਵਿਆਪਕ ਪਾਠ ਪੁਸਤਕ.

  6. ਹਫਮੈਨ ਕੋਡਿੰਗ - ਵਿਕੀਪੀਡੀਆ - ਅੱਖਰ ਫ੍ਰੀਕਵੈਂਸੀ 'ਤੇ ਨਿਰਭਰ ਕੰਪਰੈਸ਼ਨ ਐਲਗੋਰਿਦਮ ਦੀ ਵਿਸਤ੍ਰਿਤ ਵਿਆਖਿਆ.

  7. ਜੂਲਾ, ਪੀ. (2006). "ਲੇਖਕ ਪਛਾਣ." ਸੂਚਨਾ ਪ੍ਰਾਪਤੀ ਵਿੱਚ ਨੀਂਹ ਅਤੇ ਝੁਕਾਅ, 1(3), 233-334. - ਲੇਖਕ ਪਛਾਣ ਲਈ ਅੱਖਰ ਪੈਟਰਨ ਦੀ ਵਰਤੋਂ 'ਤੇ ਅਕਾਦਮਿਕ ਖੋਜ.

ਆਪਣੇ ਟੈਕਸਟ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਸ਼ੁਰੂ ਕਰੋ

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