gaucheの「文字オブジェクト」は内部エンコーディングに固定なので
char->integerは使えない。
変換後の文字列を1バイトづつ取り出すしかないのでは。

(let ((sjis (ces-convert "あ" "eucjp" "shift_jis")))
(fold (lambda (index num)
(+ (* num 256) (string-byte-ref sjis index)))
0
(iota (string-size sjis))))