[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00070] Re: String を byte 配列で書き出す方法について



石黒です。

ByteクラスのparseByteメソッドを利用するのが良いかと思います。
String str = "10";
System.out.println(Byte.parseByte(str, 16));
を実行すると16が表示されます。
つまり、strの値を16進数とみなし、byte型に変換してくれます。それ
を配列に代入すればよいかと思います。
いちいち"0x"をつけることをしなくても大丈夫です。

どうでしょう。


----- Original Message -----
From: "Yumiko Hiyama" <hiyama@xxxxxxxxxxxxx>
To: <jfriends@xxxxxxxxxxxx>
Sent: Wednesday, January 29, 2003 3:00 PM
Subject: [jfriends:00069] String を byte 配列で書き出す方法について


> 檜山と申します。MLに初めて参加させて頂きます。
>
>  String型の英数字の値をそのまま16進数のバイト配列としてファイルに書き出す
処理に
> ついて質問させて下さい。
>  現在、DBから取得した2桁の数字、2桁の英数字の頭にそれぞれ「0x」を付与し、
バイト
> 配列でファイルに書き出す処理を作成中です。 この2桁の数字、2桁の英数字とい
うのは
> 独自の文字コードで、これを(byte)0x07と共にバイトでファイルに書き出すこと
によ
> り、その後、更に独自の文字コードファイルと突合させようとしています。
>  具体的に行いたい処理の内容は、下記の<ソース1>のバイト配列部分に変数を
用い
> て、
> <ソース1>と同じ処理を行うことです。(byte)0x78 の 78の部分が、DBの中に
格納さ
> れており、様々な値が入っているため、この部分のみ変数を使用したいと考えてお
りま
> す。しかし、「0x」、「A7」ではそれぞれ文字ですが、「0xA7」となると数値(バ
イト
> ?)になるので、後ろの部分にのみ変数を用い、かつbyteで出力するということは
不可能
> なのでしょうか?
>
> <開発環境>
> サーバOS:Red Hat Linux8.0
> 開発環境:JDK 1.4
> クライアント:Windows Professional XP
> DB:Oracle 8
> 実行環境:IE6.0
> Javaを勉強して1ヶ月ほどになります。
>
>  <DB例>
> フィールド1(数字2桁)  :78
> フィールド2(英+数時2桁):A7
>
>  <ソース1>
> byte[] = new byte{(byte)0x07,(byte)0x78,(byte)0xA7}
> FileOutputStream fos = new FileOutputStream("../test.csv");
> fos.write(ary);
> fos.close();
>
>  初歩的な質問かもしれませんが、どなたが御存知の方がいらっしゃれば
> 是非ともアドバイスをお願い致します。
>
>
>
>
>
>
>
>
>
>
>