Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでURLを短縮するためのエンコードおよびデコードアルゴリズムの準備


多くの場合、bit.lyやtinyurlなどのサービスを利用します。これらのサービスは任意のURLを受け取り(通常は1つ大きい長さ)、暗号化アルゴリズムを実行して非常に短いURLを返します。そして、その小さなURLを開こうとすると、類似性があり、再度復号化アルゴリズムが実行され、短いURLが元のURLに変換されてリンクが開きます。

同じタスクを実行する必要もあります。実際には2つの関数を書く必要があります-

  • 暗号化() ->元のURLを受け取り、短い一意のURLを返します。

  • decode() ->短縮URLを取り込み、元のURLについて事前に把握しておらず、元のURLに変換します。

このためのコードは-

になります
const url = 'https://developer.mozilla.org/en-US/docs/Web/JavaScript';
const encrypt = (longUrl) => {
   const encodedUrl = Buffer.from(longUrl, 'binary').toString('base64');
   return "https://mydemo.com/" + encodedUrl;
};
const decrypt = function(shortUrl) {
   let encodedUrl = shortUrl.split('mydemo.com/')[1];
   return Buffer.from(encodedUrl, 'base64').toString();
};
const encrypted = encrypt(url);
const decrypted = decrypt(encrypted);
console.log(encrypted);
console.log(decrypted);

出力

そして、コンソールの出力は-

になります
https://mydemo.com/aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdA==
https://developer.mozilla.org/en-US/docs/Web/JavaScript

  1. JavaScriptのファイルとFileReader?

    以下は、JavaScriptでファイルとfileReaderを表示するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>

  2. JavaScriptの...inステートメントについて説明しますか?

    for…inループはすべてのオブジェクトプロパティをループします。以下は、JavaScriptでfor..inステートメントを実装するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Doc