20
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Swift 4でBase64のEncode、Decode

Posted at

たまたま話に上がったので、Swiftでどうやるのかをメモしておく

Base64とは

Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。MIMEによって規定されていて、7ビットのデータしか扱うことの出来ない電子メールにて広く利用されている。具体的には、A–Z, a–z, 0–9 までの62文字と、記号2つ (+, /)、さらにパディング(余った部分を詰める)のための記号として = が用いられる。この変換によって、データ量は4/3(約133%)になる[1]

environment

  • Xcode 10 beta 2
  • Swift 4.2
  • (Xcode 9.4.1でも動く)

Playgroundでやった

import Foundation

let originalString = "Hello, playground"

// Encode

let originalData = originalString.data(using: .utf8)

let encodedString = originalData?.base64EncodedString()

print(encodedString!)    // SGVsbG8sIHBsYXlncm91bmQ=


// Decode

let restoreData = Data(base64Encoded: encodedString!)

let restoreString = String(data: restoreData!, encoding: .utf8)

print(restoreString!)    // "Hello, playground"

print(originalString == restoreString)   // true

20
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?