- PR -

バイナリのリクエストパラメータ

1
投稿者投稿内容
未記入
会議室デビュー日: 2006/10/18
投稿数: 4
投稿日時: 2006-11-15 17:31
サーブレット/Java初心者です。

サーブレットで、hoge1、hoge2という二つのパラメータをGETで取得しています。

それで、
・hoge1はUTF-8と解釈してStringへ格納
・hoge2はバイナリのバイト列と解釈してbyte[]へ格納
としたいのです。

とりあえず以下でできたのですが、もっとスマートな方法は無いでしょうか。
(hoge2をHEXダンプかBASE64してから送る、というのはナシでお願いします)。

request.setCharacterEncoding("ISO-8859-1");
String hoge1 = new String(request.getParameter("hoge1").getBytes("ISO-8859-1"), "UTF-8");
byte[] hoge2 = request.getParameter("hoge2").getBytes("ISO-8859-1");

Tomcat5.5を使ってます。
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-11-15 17:54
引用:

未記入さんの書き込み (2006-11-15 17:31) より:
とりあえず以下でできたのですが、もっとスマートな方法は無いでしょうか。
(hoge2をHEXダンプかBASE64してから送る、というのはナシでお願いします)。



その辺が一番まともな気がするのですが。
もしくはPOSTデータ全体をバイナリとして送るとか。

ServletRequest#setCharacterEncoding()を使った
自動変換でまともに動かなくなる方がやっかいなのでは?
そのリクエストだけ特別扱いしなければならなくなるので。
未記入
会議室デビュー日: 2006/10/18
投稿数: 4
投稿日時: 2006-11-15 19:29
引用:
その辺が一番まともな気がするのですが。


それ(hoge2をHEXダンプして送るという仕様)になりました。
返信ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)