メモ、それだけである。何も魅力がないし感情もない。
/**
* Unicode(cp932) から JIS へ文字コード変換
* ¥:0xff3c[FULLWIDTH REVERSE SOLIDUS] -> 0x005c[REVERSE SOLIDUS]
* ~:0xff5e[FULLWIDTH TILDE] -> 0x301c[WAVE DASH]
* ∥:0x2225[PARALLEL TO] -> 0x2016[DOUBLE VERTICAL LINE]
* -:0xff0d[FULLWIDTH HYPHEN-MINUS] -> 0x2212[MINUS SIGN]
* ¢:0xffe0[FULLWIDTH CENT SIGN] -> 0x00a2[CENT SIGN]
* £:0xffe1[FULLWIDTH POUND SIGN] -> 0x00a3[POUND SIGN]
* ¬:0xffe2[FULLWIDTH NOT SIGN] -> 0x00ac[NOT SIGN]
* @param s 変換前文字列
* @return 変換後文字列
*/
public static String toJIS(String s){
if (!encode) return s;
if (s==null) return s;
StringBuffer buffer = new StringBuffer();
for(int i=0;i < s.length();i++){
char c = s.charAt(i);
switch(c){
case 0xff3c: // FULLWIDTH REVERSE SOLIDUS ->
c = 0x005c; // REVERSE SOLIDUS
break;
case 0xff5e: // FULLWIDTH TILDE ->
c = 0x301c; // WAVE DASH
break;
case 0x2225: // PARALLEL TO ->
c = 0x2016; // DOUBLE VERTICAL LINE
break;
case 0xff0d: // FULLWIDTH HYPHEN-MINUS ->
c = 0x2212; // MINUS SIGN
break;
case 0xffe0: // FULLWIDTH CENT SIGN ->
c = 0x00a2; // CENT SIGN
break;
case 0xffe1: // FULLWIDTH POUND SIGN ->
c = 0x00a3; // POUND SIGN
break;
case 0xffe2: // FULLWIDTH NOT SIGN ->
c = 0x00ac; // NOT SIGN
break;
}
buffer.append(c);
}
return buffer.toString();
}