18
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

Organization

Swift 4でBase64のEncode、Decode

たまたま話に上がったので、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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
18
Help us understand the problem. What are the problem?