このモジュールは Base64 エンコーダーとデコーダーの実装です。
この API は不安定です。
Base64 はバイナリデータから ASCII 文字列形式への変換に用いるエンコードとデコードの技術です。Base64 の各桁は必ず 6 bit データ表現になります。したがって、 3 桁の 8 bit バイト (つまり、合計 24 bit) は Base64 において 4 桁の 6 bit 表現になります。
基本の用法
データのエンコード
import base64 let encoded = encode("Hello World") assert encoded == "SGVsbG8gV29ybGQ="
文字列以外にも整数、または文字から成るリストをエンコードできます。
import base64 let encodedInts = encode([1,2,3]) assert encodedInts == "AQID" let encodedChars = encode(['h','e','y']) assert encodedChars == "aGV5"
データのデコード
import base64 let decoded = decode("SGVsbG8gV29ybGQ=") assert decoded == "Hello World"
関連
- hashes モジュール は様々な Nim 型で使える効率的なハッシュ値の算出方法
- md5 モジュール MD5 チェックサム・アルゴリズムの実装
- sha1 モジュール SHA1 エンコーダーとデコーダーの実装
プロシージャ
proc encode[T: SomeInteger | char](s: openArray[T]; lineLen = 75; newLine = ""): string
-
Base64 形式で s をエンコードします。lineLen 文字の後に、 newline (改行文字) を追加します。
このプロシージャは整数、または文字から成る無蓋配列 (無蓋やシーケンス) をエンコードします。
関連:
- encode プロシージャ は文字列のエンコードをします
- decode プロシージャ は文字列のデコードをします
用例:
assert encode(['n', 'i', 'm']) == "bmlt" assert encode(@['n', 'i', 'm']) == "bmlt" assert encode([1, 2, 3, 4, 5]) == "AQIDBAU="
ソース 編集 proc encode(s: string; lineLen = 75; newLine = ""): string {...}{.raises: [], tags: [].}
-
Base64 形式で s をエンコードします。lineLen 文字の後に、 newline (改行文字) を追加します。
このプロシージャは文字列をエンコードします。
関連:
- encode プロシージャ は無蓋配列のエンコードをします
- decode プロシージャ は文字列のデコードをします
用例:
assert encode("Hello World") == "SGVsbG8gV29ybGQ=" assert encode("Hello World", 3, "\n") == "SGVs\nbG8g\nV29ybGQ="
ソース 編集 proc decode(s: string): string {...}{.raises: [], tags: [].}
-
Base64 形式の文字列 s をデコードして元形式へ復元します。頭文字にあるホワイトスペースは無視します。
関連:
- encode プロシージャ は無蓋配列のエンコードをします
- encode プロシージャ は文字列のエンコードをします
用例:
assert decode("SGVsbG8gV29ybGQ=") == "Hello World" assert decode(" SGVsbG8gV29ybGQ=") == "Hello World"
ソース 編集