String.getBytesしてから16進数形式に整形するだけ。

import java.io.UnsupportedEncodingException;
public class Char2SjisHexString {
// Test
public static void main(String args[]){
String str = "月陽炎DVD";
for (char c : str.toCharArray()) {
System.out.println(Character.toString(c) + ":" + char2SjisHexString(c));
}
}
// Main
private static String char2SjisHexString(char c) {
try {
String s = Character.toString(c);
byte[] buf = s.getBytes("Windows-31J");
String result = "0x";
for (byte b : buf) {
result += String.format("%02x", b);
}
return result;
} catch (UnsupportedEncodingException e) {
return "エラー";
}
}
}
コンパイルして実行すると出力はこんなかんじ

1
2
3
4
5
6
月:0x8c8e
陽:0x977a
炎:0x898a
D:0x44
V:0x56
D:0x44