Base64のエンコードを✅

彼女の「この日遊ぼ〜」に「ごめんその日午前午後で練習が(陸上)あるから無理だ」と答えたら彼女に「もう会いたくない」と言われて破局の危機を迎えている23期スバルです。#何とか免れました

さて、今回はBase64エンコード/デコードを学習していきたいと思います。画像アップロード機能をつけようとした時に、「なんじゃこのコードは」と思ったので学習しようと思いました。

 

Base64とは

Base64とは、A-Z, a-z, 0-9, +, / の64文字のみを用いてデータを表現するためのエンコード方式です。電子メールや Basic 認証なんかによく用いられているそうです。

Base64のしくみを理解するためにRubyで実装してみる|F.Shibusawa|note

画像投稿機能を作りたい時に役に立つみたいですね。

デコード エンコード

コードを文字列に変えること。文字列をコードに変えること。

An example to encode and decode an utf-8 string in base64:

base64にあるutf-8文字をrails console上でエンコード、そしてデコードしてみました。

Image from Gyazo

エンコード

用法例: 画像をアップロードする時に画像をエンコードする。

require "base64"
text = "ZEROKEN"
Base64.encode64(text)
# "WkVST0tFTg==\\n"

デコード

用法例: アップロードされた画像をデコードして取得する。

require "base64"
text = "ZEROKEN"
Base64.encode64(text)
Base64.decode64(encoded)
# ZEROKEN

module Base64

RubyでBase64URLエンコーディング - Qiita

所感

エンコードとデコードって暗号化と復号の英語だったんですね。ユーザーの実際に飲んだお酒をアップロードする機能をつける時になったら、またencodeとdecodeのお世話になるかもしれません。

今後の展望

今回のトピックと全く関係のない話ですが、診断結果を共有する機能実装には、LINEを使おうと思いますPF進捗会に参加してよかった、、