WIP: ruby StringIO からのStream処理での最適なエンコード方法がわからない

io.string.encode('CP932', 'UTF-8')

これはやりたくない、、、

class StringIO (Ruby 3.0.0 リファレンスマニュアル)

set_encoding(ext_enc) -> self[permalink][rdoc][edit]
set_encoding(ext_enc, int_enc) -> self
set_encoding(ext_enc, int_enc, opt) -> self
自身のエンコーディングを指定されたエンコーディングに設定します。

[PARAM] ext_enc:
エンコーディングを指定します。 nil を指定した場合は Encoding.default_external が使われます。
[PARAM] int_enc:
無視されます。IO クラスの API との互換性のために用意されています。
[PARAM] opt:
無視されます。IO クラスの API との互換性のために用意されています。
io.set_encoding('CP932', 'UTF-8')

外部エンコーディングは無視、