Open5
Base N を実装したい
モチベ
サーベイ
仕様として、 bit stream がほしい。
要件
- シングルバイナリ
- CLI
- Web UI
方針
ライブラリ
適当に bit stream をディグる
自前実装
別に byte stream しかなくても、 3 bytes ずつ取って 8 bits/byte × 3 bytes = 24 bits ≦ 32 bits からマスク処理したらいい。
ただイマイチ汎用性に欠ける。
一般化
Go supports conversion to string to different bases from 2 up to 36 using the built-in strconv.FormatInt(), and strconv.FormatUint() functions,[2][3] and conversions from string encoded in different bases from 2 up to 36 using the built-in strconv.ParseInt(), and strconv.ParseUint() functions.[4][5]
Base256
やっぱりバイト指向の方が楽なので、方針転換する。だいたい web では Unicode/UTF-8 を前提にしていいだろ。
参考