Translate

2013年3月9日土曜日

Google Web Toolkitクライアント側でBase64変換する

GWTクライアント側のみでBase64変換する場合も
簡単にはいかない。


Base64変換は
外部jarを投入できるJavaSE環境なら
apache-commonsを使うのが良くやる方法、

import org.apache.commons.codec.binary.Base64
..
// apache-commonsでbyte[]をBase64変換し文字列化
return new String(Base64.encodeBase64(hash));

GWTサーバ側(GAE上)なら
com.google.gwt.user.server.Base64Utilsというクラス
を使うことが出来る。

import com.google.gwt.user.server.Base64Utils;
..
// GWTサーバでbyte[]をBase64変換し文字列化
return Base64Utils.toBase64(hash);

しかしGWTクライアントではそれらが使えない。
なので
これまた以下のオープンソースのJavaソースbase64.javaを
使用した。

http://svn.apache.org/repos/asf/directory/sandbox/erodriguez/preferences/src/main/java/org/apache/preferences/service/Base64.java

ほかにもいろいろ実装はあるが、
このコードを選んだのはGWTクライアント側で使用できる
クラスのみを使っての実装になっていたためだ。

return Base64.byteArrayToBase64(hash);


でとりあえず対応できるようになった。

0 件のコメント:

o1-previewにナップサック問題を解かせてみた

Azure環境上にあるo1-previewを使って、以下のナップサック問題を解かせてみました。   ナップサック問題とは、ナップサックにものを入れるときどれを何個入れればいいかを計算する問題です。数学では数理最適化手法を使う際の例でよく出てきます。 Azure OpenAI Se...