努力したWiki

推敲の足りないメモ書き多数

ユーザ用ツール

サイト用ツール


documents:code:code-002

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
documents:code:code-002 [2024/04/14 10:41] – ↷ documents:code:other-053 から documents:code:code-002 へページを名称変更しました。 k896951documents:code:code-002 [2026/05/12 23:15] (現在) k896951
行 1: 行 1:
 +====== 003.BASE64 ======
 +
 +2017/05/05\\
 +自分用メモ
 +
 +===== 概要 =====
 +
 +
 +データを6ビット毎に分割し、その値に対応する文字に変換するエンコード。\\
 +RFC4648( https://tools.ietf.org/html/rfc4648 )で定義されている。
 +
 +例えば文字列"hgotoh.jp"は"aGdvdG9oLmpw"にエンコードされる。
 +
 +^ 文字        | "h"       | "g"       | "o"       || "t"       | "o"       | "h"     || "."       | "j"       | "p"       ||
 +^ 文字コード   | 0x68      | 0x67      | 0x6f      || 0x74      | 0x6f      | 0x68    || 0x2e      | 0x6a      | 0x70      ||
 +^ :::         | 01101000  01100111  01101111   |||| 01110100  01101111  01101000   |||| 00101110  01101010  01110000    ||||
 +^ 分割        | 011010 | 000110 | 011101 | 101111  | 011101 | 000110 | 111101 | 101000 | 001011 | 100110 | 101001 | 110000  |
 +^ エンコード後 | a      | G      | d      | v       | d      | G      | 9      | o      | L      | m      | p      | w       |
 +
 +24ビットを4分割し4文字にエンコードするが、分割して6ビットに満たない箇所は0のビットで埋め、4文字に満たない部分を"="で埋める(パディング)\\
 +例えば、"jp"は"anA="にエンコードされる。
 +
 +^ 文字        | "j"       || "p"              ||
 +^ 文字コード   | 0x6a      || 0x70             ||
 +^ :::         | 01101010  01110000            ||||
 +^ 分割        | 011010 | 100111  | 0000 → 000000 ||
 +^ エンコード後 | a      | n      | A      | =   |
 +
 +
 +
 +===== 種類 =====
 +
 +
 +BASE64 はメールのMIMEパート等のデータ表現で適用、URL and Filename safe BASE64 はURLやファイル名等の"+"や"/"が特別の意味を持つ場所に適用する。
 +
 +^ 2進数    ^ 10進数  ^ Base64  ^ URL and Filename safe Base64 ^
 +| 000000   | 0      A    A  |
 +| 000001   | 1      B    B  |
 +| 000010   | 2      C    C  |
 +| 000011   | 3      D    D  |
 +| 000100   | 4      E    E  |
 +| 000101   | 5      F    F  |
 +| 000110   | 6      G    G  |
 +| 000111   | 7      H    H  |
 +| 001000   | 8      I    I  |
 +| 001001   | 9      J    J  |
 +| 001010   | 10      K    K  |
 +| 001011   | 11      L    L  |
 +| 001100   | 12      M    M  |
 +| 001101   | 13      N    N  |
 +| 001110   | 14      O    O  |
 +| 001111   | 15      P    P  |
 +| 010000   | 16      Q    Q  |
 +| 010001   | 17      R    R  |
 +| 010010   | 18      S    S  |
 +| 010011   | 19      T    T  |
 +| 010100   | 20      U    U  |
 +| 010101   | 21      V    V  |
 +| 010110   | 22      W    W  |
 +| 010111   | 23      X    X  |
 +| 011000   | 24      Y    Y  |
 +| 011001   | 25      Z    Z  |
 +| 011010   | 26      a    a  |
 +| 011011   | 27      b    b  |
 +| 011100   | 28      c    c  |
 +| 011101   | 29      d    d  |
 +| 011110   | 30      e    e  |
 +| 011111   | 31      f    f  |
 +| 100000   | 32      g    g  |
 +| 100001   | 33      h    h  |
 +| 100010   | 34      i    i  |
 +| 100011   | 35      j    j  |
 +| 100100   | 36      k    k  |
 +| 100101   | 37      l    l  |
 +| 100110   | 38      m    m  |
 +| 100111   | 39      n    n  |
 +| 101000   | 40      o    o  |
 +| 101001   | 41      p    p  |
 +| 101010   | 42      q    q  |
 +| 101011   | 43      r    r  |
 +| 101100   | 44      s    s  |
 +| 101101   | 45      t    t  |
 +| 101110   | 46      u    u  |
 +| 101111   | 47      v    v  |
 +| 110000   | 48      w    w  |
 +| 110001   | 49      x    x  |
 +| 110010   | 50      y    y  |
 +| 110011   | 51      z    z  |
 +| 110100   | 52      0    0  |
 +| 110101   | 53      1    1  |
 +| 110110   | 54      2    2  |
 +| 110111   | 55      3    3  |
 +| 111000   | 56      4    4  |
 +| 111001   | 57      5    5  |
 +| 111010   | 58      6    6  |
 +| 111011   | 59      7    7  |
 +| 111100   | 60      8    8  |
 +| 111101   | 61      9    9  |
 +| 111110   | 62      + (プラス)    - (ハイフン)  |
 +| 111111   | 63      / (スラッシュ)    _ (アンダースコア)  |
 +
 +{{tag> 技術資料 BASE64}}
  
documents/code/code-002.txt · 最終更新: by k896951

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki