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
-
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>
-
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