ただのSEの備忘録

技術からニュース、くだらない雑学まで何でもまとめるブログ

*

java|全角を半角、半角を全角に変換するクラスを作成してみた

   


フリーワード検索を作る際に全角⇒半角に変換したり半角⇒全角に変換できれば、より検索条件を許容できるなと思い調べました。

他のブログを参考にして「BigSmallStringUtil 」クラスを作成しました。

変換処理やDB登録前の文字揃えにご活用ください。
全角文字内容をすべて半角文字内容に変換.
public static final String toSmall( String string )

全文字の半角を全角変換.
public static final String toBig( String string )

カナ半角を半角変換.
public static final String toSmallJp( String string )

カナ半角を全角変換.
public static final String toBigJp( String string )

英語全角文字内容をすべて半角文字内容に変換.
public static final String toSmallAscii( String string )

英語全角文字内容をすべて半角文字内容に変換.
public static final String toBigAscii( String string )

スポンサードリンク

package util;
public class BigSmallStringUtil {

/**
* 全角文字内容をすべて半角文字内容に変換.
* @param string 変換対象情報を設定します.
* @return String 変換された内容が返されます.
*/
public static final String toSmall( String string ) {
return toSmall( false,string ) ;
}

/**
* 全角文字内容をすべて半角文字内容に変換.
* @param mode [true]の場合HTML形式で変換します.
* @param string 変換対象情報を設定します.
* @return String 変換された内容が返されます.
*/
public static final String toSmall( boolean mode,String string ) {
if( string == null || string.length() <= 0 ) {
return "" ;
}
StringBuilder buf = new StringBuilder() ;
int len = string.length() ;
for( int i = 0 ; i < len ; i ++ ) {
buf.append( toSmallOne( mode,string.charAt( i ) ) ) ;
}
return buf.toString() ;
}

/**
* カナ全角を半角変換.
* @param string 変換対象の文字列を設定します.
* @return String 変換された文字列が返されます.
*/
public static final String toSmallJp( String string ) {
if( string == null || string.length() <= 0 ) {
return "" ;
}
StringBuilder buf = new StringBuilder() ;
int len = string.length() ;
for( int i = 0 ; i < len ; i ++ ) {
buf.append( toSmallJpOne( string,i ) ) ;
}
return buf.toString() ;
}

/**
* 全文字の半角を全角変換.
* @param string 変換対象の文字列を設定します.
* @return String 変換された文字列が返却されます.
*/
public static final String toBig( String string ) {
string = toBigAscii( string ) ;
return toBigJp( string ) ;
}

/**
* カナ半角を全角変換.
* @param string 変換対象の文字列を設定します.
* @return String 変換された文字列が返されます.
*/
public static final String toBigJp( String string ) {
if( string == null || string.length() <= 0 ) {
return "" ;
}
StringBuilder buf = new StringBuilder() ;
int len = string.length() ;
char[] o = new char[ 1 ] ;
for( int i = 0 ; i < len ; i ++ ) {
i += toBigJpOne( o,string,i ) ;
buf.append( o[ 0 ] ) ;
}
return buf.toString() ;
}

/**
* 英語全角文字内容をすべて半角文字内容に変換.
* @param string 変換対象情報を設定します.
* @return String 変換された内容が返されます.
*/
public static final String toSmallAscii( String string ) {
return toSmallAscii( false,string ) ;
}

/**
* 英語全角文字内容をすべて半角文字内容に変換.
* @param mode [true]の場合HTML形式で変換します.
* @param string 変換対象情報を設定します.
* @return String 変換された内容が返されます.
*/
public static final String toSmallAscii( boolean mode,String string ) {
if( string == null || string.length() <= 0 ) {
return "" ;
}
StringBuilder buf = new StringBuilder() ;
int len = string.length() ;
for( int i = 0 ; i < len ; i ++ ) {
buf.append( toSmallAsciiByOne( mode,string.charAt( i ) ) ) ;
}
return buf.toString() ;
}

/**
* 英語半角を全角変換.
* @param string 変換対象の文字列を設定します.
* @return String 変換された文字列が返されます.
*/
public static final String toBigAscii( String string ) {
if( string == null || string.length() <= 0 ) {
return "" ;
}
StringBuilder buf = new StringBuilder() ;
int len = string.length() ;
for( int i = 0 ; i < len ; i ++ ) {
buf.append( toBigAsciiOne( string.charAt( i ) ) ) ;
}
return buf.toString() ;
}

/**
* 英語のみ全角を半角に変換.
*/
private static final String toSmallAsciiByOne( boolean mode,char code ) {
switch( code ){
case '!' : return "!" ;
case '”' : return ( mode ) ? """ : "\"" ;
case '#' : return "#" ;
case '$' : return "$" ;
case '¥' : return "\\" ;
case '%' : return "%" ;
case '&' : return "&" ;
case '’' : return "\'" ;
case '(' : return "(" ;
case ')' : return ")" ;
case '*' : return "*" ;
case '+' : return "+" ;
case ',' : return "," ;
case '-' : return "-" ;
case '.' : return "." ;
case '/' : return "/" ;
case '0' : return "0" ;
case '1' : return "1" ;
case '2' : return "2" ;
case '3' : return "3" ;
case '4' : return "4" ;
case '5' : return "5" ;
case '6' : return "6" ;
case '7' : return "7" ;
case '8' : return "8" ;
case '9' : return "9" ;
case ':' : return ":" ;
case ';' : return ";" ;
case '<' : return ( mode ) ? "<" : "<" ;
case '=' : return "=" ;
case '>' : return ( mode ) ? ">" : ">" ;
case '?' : return "?" ;
case '@' : return "@" ;
case 'A' : return "A" ;
case 'B' : return "B" ;
case 'C' : return "C" ;
case 'D' : return "D" ;
case 'E' : return "E" ;
case 'F' : return "F" ;
case 'G' : return "G" ;
case 'H' : return "H" ;
case 'I' : return "I" ;
case 'J' : return "J" ;
case 'K' : return "K" ;
case 'L' : return "L" ;
case 'M' : return "M" ;
case 'N' : return "N" ;
case 'O' : return "O" ;
case 'P' : return "P" ;
case 'Q' : return "Q" ;
case 'R' : return "R" ;
case 'S' : return "S" ;
case 'T' : return "T" ;
case 'U' : return "U" ;
case 'V' : return "V" ;
case 'W' : return "W" ;
case 'X' : return "X" ;
case 'Y' : return "Y" ;
case 'Z' : return "Z" ;
case '^' : return "^" ;
case '_' : return "_" ;
case '‘' : return &quot;<code>&quot; ;
case 'a' : return &quot;a&quot; ;
case 'b' : return &quot;b&quot; ;
case 'c' : return &quot;c&quot; ;
case 'd' : return &quot;d&quot; ;
case 'e' : return &quot;e&quot; ;
case 'f' : return &quot;f&quot; ;
case 'g' : return &quot;g&quot; ;
case 'h' : return &quot;h&quot; ;
case 'i' : return &quot;i&quot; ;
case 'j' : return &quot;j&quot; ;
case 'k' : return &quot;k&quot; ;
case 'l' : return &quot;l&quot; ;
case 'm' : return &quot;m&quot; ;
case 'n' : return &quot;n&quot; ;
case 'o' : return &quot;o&quot; ;
case 'p' : return &quot;p&quot; ;
case 'q' : return &quot;q&quot; ;
case 'r' : return &quot;r&quot; ;
case 's' : return &quot;s&quot; ;
case 't' : return &quot;t&quot; ;
case 'u' : return &quot;u&quot; ;
case 'v' : return &quot;v&quot; ;
case 'w' : return &quot;w&quot; ;
case 'x' : return &quot;x&quot; ;
case 'y' : return &quot;y&quot; ;
case 'z' : return &quot;z&quot; ;
case '{' : return &quot;{&quot; ;
case '|' : return &quot;|&quot; ;
case '}' : return &quot;}&quot; ;
case '。' : return &quot;。&quot; ;
case '「' : return &quot;「&quot; ;
case '」' : return &quot;」&quot; ;
case '、' : return &quot;、&quot; ;
case '・' : return &quot;・&quot; ;
case ' ' : return ( mode ) ? &quot;&amp;nbsp;&quot; : &quot; &quot; ;
}
return new String( new char[]{ code } ) ;
}

/**
* 英語のみ、半角を全角に変換.
*/
private static final String toBigAsciiOne( char code ) {
switch( code ){
case '!' : return &quot;!&quot; ;
case '\&quot;' : return &quot;”&quot; ;
case '#' : return &quot;#&quot; ;
case '$' : return &quot;$&quot; ;
case '\\' : return &quot;¥&quot; ;
case '%' : return &quot;%&quot; ;
case '&amp;' : return &quot;&&quot; ;
case '\'' : return &quot;’&quot; ;
case '(' : return &quot;(&quot; ;
case ')' : return &quot;)&quot; ;
case '*' : return &quot;*&quot; ;
case '+' : return &quot;+&quot; ;
case ',' : return &quot;,&quot; ;
case '-' : return &quot;-&quot; ;
case '.' : return &quot;.&quot; ;
case '/' : return &quot;/&quot; ;
case '0' : return &quot;0&quot; ;
case '1' : return &quot;1&quot; ;
case '2' : return &quot;2&quot; ;
case '3' : return &quot;3&quot; ;
case '4' : return &quot;4&quot; ;
case '5' : return &quot;5&quot; ;
case '6' : return &quot;6&quot; ;
case '7' : return &quot;7&quot; ;
case '8' : return &quot;8&quot; ;
case '9' : return &quot;9&quot; ;
case ':' : return &quot;:&quot; ;
case ';' : return &quot;;&quot; ;
case '&lt;' : return &quot;<&quot; ;
case '=' : return &quot;=&quot; ;
case '&gt;' : return &quot;>&quot; ;
case '?' : return &quot;?&quot; ;
case '@' : return &quot;@&quot; ;
case 'A' : return &quot;A&quot; ;
case 'B' : return &quot;B&quot; ;
case 'C' : return &quot;C&quot; ;
case 'D' : return &quot;D&quot; ;
case 'E' : return &quot;E&quot; ;
case 'F' : return &quot;F&quot; ;
case 'G' : return &quot;G&quot; ;
case 'H' : return &quot;H&quot; ;
case 'I' : return &quot;I&quot; ;
case 'J' : return &quot;J&quot; ;
case 'K' : return &quot;K&quot; ;
case 'L' : return &quot;L&quot; ;
case 'M' : return &quot;M&quot; ;
case 'N' : return &quot;N&quot; ;
case 'O' : return &quot;O&quot; ;
case 'P' : return &quot;P&quot; ;
case 'Q' : return &quot;Q&quot; ;
case 'R' : return &quot;R&quot; ;
case 'S' : return &quot;S&quot; ;
case 'T' : return &quot;T&quot; ;
case 'U' : return &quot;U&quot; ;
case 'V' : return &quot;V&quot; ;
case 'W' : return &quot;W&quot; ;
case 'X' : return &quot;X&quot; ;
case 'Y' : return &quot;Y&quot; ;
case 'Z' : return &quot;Z&quot; ;
case '^' : return &quot;^&quot; ;
case '_' : return &quot;_&quot; ;
case '</code>' : return &quot;‘&quot; ;
case 'a' : return &quot;a&quot; ;
case 'b' : return &quot;b&quot; ;
case 'c' : return &quot;c&quot; ;
case 'd' : return &quot;d&quot; ;
case 'e' : return &quot;e&quot; ;
case 'f' : return &quot;f&quot; ;
case 'g' : return &quot;g&quot; ;
case 'h' : return &quot;h&quot; ;
case 'i' : return &quot;i&quot; ;
case 'j' : return &quot;j&quot; ;
case 'k' : return &quot;k&quot; ;
case 'l' : return &quot;l&quot; ;
case 'm' : return &quot;m&quot; ;
case 'n' : return &quot;n&quot; ;
case 'o' : return &quot;o&quot; ;
case 'p' : return &quot;p&quot; ;
case 'q' : return &quot;q&quot; ;
case 'r' : return &quot;r&quot; ;
case 's' : return &quot;s&quot; ;
case 't' : return &quot;t&quot; ;
case 'u' : return &quot;u&quot; ;
case 'v' : return &quot;v&quot; ;
case 'w' : return &quot;w&quot; ;
case 'x' : return &quot;x&quot; ;
case 'y' : return &quot;y&quot; ;
case 'z' : return &quot;z&quot; ;
case '{' : return &quot;{&quot; ;
case '|' : return &quot;|&quot; ;
case '}' : return &quot;}&quot; ;
case '。' : return &quot;。&quot; ;
case '「' : return &quot;「&quot; ;
case '」' : return &quot;」&quot; ;
case '、' : return &quot;、&quot; ;
case '・' : return &quot;・&quot; ;
case ' ' : return &quot; &quot; ;
}
return new String( new char[]{ code } ) ;
}
/**
* 全角文字を半角文字に変更.
*/
private static final String toSmallOne( boolean mode,char code ) {
switch( code ){
case 'ァ' : return &quot;ァ&quot; ;
case 'ィ' : return &quot;ィ&quot; ;
case 'ゥ' : return &quot;ゥ&quot; ;
case 'ェ' : return &quot;ェ&quot; ;
case 'ォ' : return &quot;ォ&quot; ;
case 'ャ' : return &quot;ャ&quot; ;
case 'ュ' : return &quot;ュ&quot; ;
case 'ョ' : return &quot;ョ&quot; ;
case 'ッ' : return &quot;ッ&quot; ;
case 'ー' : return &quot;ー&quot; ;
case 'ア' : return &quot;ア&quot; ;
case 'イ' : return &quot;イ&quot; ;
case 'ウ' : return &quot;ウ&quot; ;
case 'エ' : return &quot;エ&quot; ;
case 'オ' : return &quot;オ&quot; ;
case 'カ' : return &quot;カ&quot; ;
case 'キ' : return &quot;キ&quot; ;
case 'ク' : return &quot;ク&quot; ;
case 'ケ' : return &quot;ケ&quot; ;
case 'コ' : return &quot;コ&quot; ;
case 'サ' : return &quot;サ&quot; ;
case 'シ' : return &quot;シ&quot; ;
case 'ス' : return &quot;ス&quot; ;
case 'セ' : return &quot;セ&quot; ;
case 'ソ' : return &quot;ソ&quot; ;
case 'タ' : return &quot;タ&quot; ;
case 'チ' : return &quot;チ&quot; ;
case 'ツ' : return &quot;ツ&quot; ;
case 'テ' : return &quot;テ&quot; ;
case 'ト' : return &quot;ト&quot; ;
case 'ナ' : return &quot;ナ&quot; ;
case 'ニ' : return &quot;ニ&quot; ;
case 'ヌ' : return &quot;ヌ&quot; ;
case 'ネ' : return &quot;ネ&quot; ;
case 'ノ' : return &quot;ノ&quot; ;
case 'ハ' : return &quot;ハ&quot; ;
case 'ヒ' : return &quot;ヒ&quot; ;
case 'フ' : return &quot;フ&quot; ;
case 'ヘ' : return &quot;ヘ&quot; ;
case 'ホ' : return &quot;ホ&quot; ;
case 'マ' : return &quot;マ&quot; ;
case 'ミ' : return &quot;ミ&quot; ;
case 'ム' : return &quot;ム&quot; ;
case 'メ' : return &quot;メ&quot; ;
case 'モ' : return &quot;モ&quot; ;
case 'ヤ' : return &quot;ヤ&quot; ;
case 'ユ' : return &quot;ユ&quot; ;
case 'ヨ' : return &quot;ヨ&quot; ;
case 'ラ' : return &quot;ラ&quot; ;
case 'リ' : return &quot;リ&quot; ;
case 'ル' : return &quot;ル&quot; ;
case 'レ' : return &quot;レ&quot; ;
case 'ロ' : return &quot;ロ&quot; ;
case 'ワ' : return &quot;ワ&quot; ;
case 'ヲ' : return &quot;ヲ&quot; ;
case 'ン' : return &quot;ン&quot; ;
case 'ガ' : return &quot;ガ&quot; ;
case 'ギ' : return &quot;ギ&quot; ;
case 'グ' : return &quot;グ&quot; ;
case 'ゲ' : return &quot;ゲ&quot; ;
case 'ゴ' : return &quot;ゴ&quot; ;
case 'ザ' : return &quot;ザ&quot; ;
case 'ジ' : return &quot;ジ&quot; ;
case 'ズ' : return &quot;ズ&quot; ;
case 'ゼ' : return &quot;ゼ&quot; ;
case 'ゾ' : return &quot;ゾ&quot; ;
case 'ダ' : return &quot;ダ&quot; ;
case 'ヂ' : return &quot;ヂ&quot; ;
case 'ヅ' : return &quot;ヅ&quot; ;
case 'デ' : return &quot;デ&quot; ;
case 'ド' : return &quot;ド&quot; ;
case 'パ' : return &quot;パ&quot; ;
case 'ピ' : return &quot;ピ&quot; ;
case 'プ' : return &quot;プ&quot; ;
case 'ペ' : return &quot;ペ&quot; ;
case 'ポ' : return &quot;ポ&quot; ;
case 'バ' : return &quot;バ&quot; ;
case 'ビ' : return &quot;ビ&quot; ;
case 'ブ' : return &quot;ブ&quot; ;
case 'ベ' : return &quot;ベ&quot; ;
case 'ボ' : return &quot;ボ&quot; ;
case 'ヴ' : return &quot;ヴ&quot; ;
case '!' : return &quot;!&quot; ;
case '”' : return ( mode ) ? &quot;&amp;quot;&quot; : &quot;\&quot;&quot; ;
case '#' : return &quot;#&quot; ;
case '$' : return &quot;$&quot; ;
case '¥' : return &quot;\\&quot; ;
case '%' : return &quot;%&quot; ;
case '&' : return &quot;&amp;&quot; ;
case '’' : return &quot;\'&quot; ;
case '(' : return &quot;(&quot; ;
case ')' : return &quot;)&quot; ;
case '*' : return &quot;*&quot; ;
case '+' : return &quot;+&quot; ;
case ',' : return &quot;,&quot; ;
case '-' : return &quot;-&quot; ;
case '.' : return &quot;.&quot; ;
case '/' : return &quot;/&quot; ;
case '0' : return &quot;0&quot; ;
case '1' : return &quot;1&quot; ;
case '2' : return &quot;2&quot; ;
case '3' : return &quot;3&quot; ;
case '4' : return &quot;4&quot; ;
case '5' : return &quot;5&quot; ;
case '6' : return &quot;6&quot; ;
case '7' : return &quot;7&quot; ;
case '8' : return &quot;8&quot; ;
case '9' : return &quot;9&quot; ;
case ':' : return &quot;:&quot; ;
case ';' : return &quot;;&quot; ;
case '<' : return ( mode ) ? &quot;&amp;lt;&quot; : &quot;&lt;&quot; ;
case '=' : return &quot;=&quot; ;
case '>' : return ( mode ) ? &quot;&amp;gt;&quot; : &quot;&gt;&quot; ;
case '?' : return &quot;?&quot; ;
case '@' : return &quot;@&quot; ;
case 'A' : return &quot;A&quot; ;
case 'B' : return &quot;B&quot; ;
case 'C' : return &quot;C&quot; ;
case 'D' : return &quot;D&quot; ;
case 'E' : return &quot;E&quot; ;
case 'F' : return &quot;F&quot; ;
case 'G' : return &quot;G&quot; ;
case 'H' : return &quot;H&quot; ;
case 'I' : return &quot;I&quot; ;
case 'J' : return &quot;J&quot; ;
case 'K' : return &quot;K&quot; ;
case 'L' : return &quot;L&quot; ;
case 'M' : return &quot;M&quot; ;
case 'N' : return &quot;N&quot; ;
case 'O' : return &quot;O&quot; ;
case 'P' : return &quot;P&quot; ;
case 'Q' : return &quot;Q&quot; ;
case 'R' : return &quot;R&quot; ;
case 'S' : return &quot;S&quot; ;
case 'T' : return &quot;T&quot; ;
case 'U' : return &quot;U&quot; ;
case 'V' : return &quot;V&quot; ;
case 'W' : return &quot;W&quot; ;
case 'X' : return &quot;X&quot; ;
case 'Y' : return &quot;Y&quot; ;
case 'Z' : return &quot;Z&quot; ;
case '^' : return &quot;^&quot; ;
case '_' : return &quot;_&quot; ;
case '‘' : return &quot;`&quot; ;
case 'a' : return &quot;a&quot; ;
case 'b' : return &quot;b&quot; ;
case 'c' : return &quot;c&quot; ;
case 'd' : return &quot;d&quot; ;
case 'e' : return &quot;e&quot; ;
case 'f' : return &quot;f&quot; ;
case 'g' : return &quot;g&quot; ;
case 'h' : return &quot;h&quot; ;
case 'i' : return &quot;i&quot; ;
case 'j' : return &quot;j&quot; ;
case 'k' : return &quot;k&quot; ;
case 'l' : return &quot;l&quot; ;
case 'm' : return &quot;m&quot; ;
case 'n' : return &quot;n&quot; ;
case 'o' : return &quot;o&quot; ;
case 'p' : return &quot;p&quot; ;
case 'q' : return &quot;q&quot; ;
case 'r' : return &quot;r&quot; ;
case 's' : return &quot;s&quot; ;
case 't' : return &quot;t&quot; ;
case 'u' : return &quot;u&quot; ;
case 'v' : return &quot;v&quot; ;
case 'w' : return &quot;w&quot; ;
case 'x' : return &quot;x&quot; ;
case 'y' : return &quot;y&quot; ;
case 'z' : return &quot;z&quot; ;
case '{' : return &quot;{&quot; ;
case '|' : return &quot;|&quot; ;
case '}' : return &quot;}&quot; ;
case '。' : return &quot;。&quot; ;
case '「' : return &quot;「&quot; ;
case '」' : return &quot;」&quot; ;
case '、' : return &quot;、&quot; ;
case '・' : return &quot;・&quot; ;
case ' ' : return ( mode ) ? &quot;&amp;nbsp;&quot; : &quot; &quot; ;
}
return new String( new char[]{ code } ) ;
}

/**
* (カナ)全角から半角変換
*/
private static final String toSmallJpOne( String str,int index ) {
char code = str.charAt( index ) ;
switch( code ) {
case 'ァ' : return &quot;ァ&quot; ;
case 'ィ' : return &quot;ィ&quot; ;
case 'ゥ' : return &quot;ゥ&quot; ;
case 'ェ' : return &quot;ェ&quot; ;
case 'ォ' : return &quot;ォ&quot; ;
case 'ャ' : return &quot;ャ&quot; ;
case 'ュ' : return &quot;ュ&quot; ;
case 'ョ' : return &quot;ョ&quot; ;
case 'ッ' : return &quot;ッ&quot; ;
case 'ー' : return &quot;ー&quot; ;
case 'ア' : return &quot;ア&quot; ;
case 'イ' : return &quot;イ&quot; ;
case 'ウ' : return &quot;ウ&quot; ;
case 'エ' : return &quot;エ&quot; ;
case 'オ' : return &quot;オ&quot; ;
case 'カ' : return &quot;カ&quot; ;
case 'キ' : return &quot;キ&quot; ;
case 'ク' : return &quot;ク&quot; ;
case 'ケ' : return &quot;ケ&quot; ;
case 'コ' : return &quot;コ&quot; ;
case 'サ' : return &quot;サ&quot; ;
case 'シ' : return &quot;シ&quot; ;
case 'ス' : return &quot;ス&quot; ;
case 'セ' : return &quot;セ&quot; ;
case 'ソ' : return &quot;ソ&quot; ;
case 'タ' : return &quot;タ&quot; ;
case 'チ' : return &quot;チ&quot; ;
case 'ツ' : return &quot;ツ&quot; ;
case 'テ' : return &quot;テ&quot; ;
case 'ト' : return &quot;ト&quot; ;
case 'ナ' : return &quot;ナ&quot; ;
case 'ニ' : return &quot;ニ&quot; ;
case 'ヌ' : return &quot;ヌ&quot; ;
case 'ネ' : return &quot;ネ&quot; ;
case 'ノ' : return &quot;ノ&quot; ;
case 'ハ' : return &quot;ハ&quot; ;
case 'ヒ' : return &quot;ヒ&quot; ;
case 'フ' : return &quot;フ&quot; ;
case 'ヘ' : return &quot;ヘ&quot; ;
case 'ホ' : return &quot;ホ&quot; ;
case 'マ' : return &quot;マ&quot; ;
case 'ミ' : return &quot;ミ&quot; ;
case 'ム' : return &quot;ム&quot; ;
case 'メ' : return &quot;メ&quot; ;
case 'モ' : return &quot;モ&quot; ;
case 'ヤ' : return &quot;ヤ&quot; ;
case 'ユ' : return &quot;ユ&quot; ;
case 'ヨ' : return &quot;ヨ&quot; ;
case 'ラ' : return &quot;ラ&quot; ;
case 'リ' : return &quot;リ&quot; ;
case 'ル' : return &quot;ル&quot; ;
case 'レ' : return &quot;レ&quot; ;
case 'ロ' : return &quot;ロ&quot; ;
case 'ワ' : return &quot;ワ&quot; ;
case 'ヲ' : return &quot;ヲ&quot; ;
case 'ン' : return &quot;ン&quot; ;
case 'ガ' : return &quot;ガ&quot; ;
case 'ギ' : return &quot;ギ&quot; ;
case 'グ' : return &quot;グ&quot; ;
case 'ゲ' : return &quot;ゲ&quot; ;
case 'ゴ' : return &quot;ゴ&quot; ;
case 'ザ' : return &quot;ザ&quot; ;
case 'ジ' : return &quot;ジ&quot; ;
case 'ズ' : return &quot;ズ&quot; ;
case 'ゼ' : return &quot;ゼ&quot; ;
case 'ゾ' : return &quot;ゾ&quot; ;
case 'ダ' : return &quot;ダ&quot; ;
case 'ヂ' : return &quot;ヂ&quot; ;
case 'ヅ' : return &quot;ヅ&quot; ;
case 'デ' : return &quot;デ&quot; ;
case 'ド' : return &quot;ド&quot; ;
case 'パ' : return &quot;パ&quot; ;
case 'ピ' : return &quot;ピ&quot; ;
case 'プ' : return &quot;プ&quot; ;
case 'ペ' : return &quot;ペ&quot; ;
case 'ポ' : return &quot;ポ&quot; ;
case 'バ' : return &quot;バ&quot; ;
case 'ビ' : return &quot;ビ&quot; ;
case 'ブ' : return &quot;ブ&quot; ;
case 'ベ' : return &quot;ベ&quot; ;
case 'ボ' : return &quot;ボ&quot; ;
case 'ヴ' : return &quot;ヴ&quot; ;
}
return str.substring( index,index+1 ) ;
}

/**
* (カナ)半角から全角変換.
*/
private static final int toBigJpOne( char[] out,String str,int index ) {
char code = str.charAt( index ) ;
if( index + 1 &gt;= str.length() ){
switch( code ) {
case 'ァ' : out[0] = 'ァ' ;return 0;
case 'ィ' : out[0] = 'ィ' ;return 0;
case 'ゥ' : out[0] = 'ゥ' ;return 0;
case 'ェ' : out[0] = 'ェ' ;return 0;
case 'ォ' : out[0] = 'ォ' ;return 0;
case 'ャ' : out[0] = 'ャ' ;return 0;
case 'ュ' : out[0] = 'ュ' ;return 0;
case 'ョ' : out[0] = 'ョ' ;return 0;
case 'ッ' : out[0] = 'ッ' ;return 0;
case 'ー' : out[0] = 'ー' ;return 0;
case 'ア' : out[0] = 'ア' ;return 0;
case 'イ' : out[0] = 'イ' ;return 0;
case 'ウ' : out[0] = 'ウ' ;return 0;
case 'エ' : out[0] = 'エ' ;return 0;
case 'オ' : out[0] = 'オ' ;return 0;
case 'カ' : out[0] = 'カ' ;return 0;
case 'キ' : out[0] = 'キ' ;return 0;
case 'ク' : out[0] = 'ク' ;return 0;
case 'ケ' : out[0] = 'ケ' ;return 0;
case 'コ' : out[0] = 'コ' ;return 0;
case 'サ' : out[0] = 'サ' ;return 0;
case 'シ' : out[0] = 'シ' ;return 0;
case 'ス' : out[0] = 'ス' ;return 0;
case 'セ' : out[0] = 'セ' ;return 0;
case 'ソ' : out[0] = 'ソ' ;return 0;
case 'タ' : out[0] = 'タ' ;return 0;
case 'チ' : out[0] = 'チ' ;return 0;
case 'ツ' : out[0] = 'ツ' ;return 0;
case 'テ' : out[0] = 'テ' ;return 0;
case 'ト' : out[0] = 'ト' ;return 0;
case 'ナ' : out[0] = 'ナ' ;return 0;
case 'ニ' : out[0] = 'ニ' ;return 0;
case 'ヌ' : out[0] = 'ヌ' ;return 0;
case 'ネ' : out[0] = 'ネ' ;return 0;
case 'ノ' : out[0] = 'ノ' ;return 0;
case 'ハ' : out[0] = 'ハ' ;return 0;
case 'ヒ' : out[0] = 'ヒ' ;return 0;
case 'フ' : out[0] = 'フ' ;return 0;
case 'ヘ' : out[0] = 'ヘ' ;return 0;
case 'ホ' : out[0] = 'ホ' ;return 0;
case 'マ' : out[0] = 'マ' ;return 0;
case 'ミ' : out[0] = 'ミ' ;return 0;
case 'ム' : out[0] = 'ム' ;return 0;
case 'メ' : out[0] = 'メ' ;return 0;
case 'モ' : out[0] = 'モ' ;return 0;
case 'ヤ' : out[0] = 'ヤ' ;return 0;
case 'ユ' : out[0] = 'ユ' ;return 0;
case 'ヨ' : out[0] = 'ヨ' ;return 0;
case 'ラ' : out[0] = 'ラ' ;return 0;
case 'リ' : out[0] = 'リ' ;return 0;
case 'ル' : out[0] = 'ル' ;return 0;
case 'レ' : out[0] = 'レ' ;return 0;
case 'ロ' : out[0] = 'ロ' ;return 0;
case 'ワ' : out[0] = 'ワ' ;return 0;
case 'ヲ' : out[0] = 'ヲ' ;return 0;
case 'ン' : out[0] = 'ン' ;return 0;
case '゙' : out[0] = '゙' ;return 0;
case '゚' : out[0] = '゚' ;return 0;
}
out[0] = code ;
return 0 ;
}
else {
int type = 0 ;
char code2 = str.charAt( index+1 ) ;
if( code2 == '゙' ){
type = 1 ;
}
else if( code2 == '゚' ){
type = 2 ;
}
switch( code ) {
case 'ァ' : out[0] = 'ァ' ;return 0;
case 'ィ' : out[0] = 'ィ' ;return 0;
case 'ゥ' : out[0] = 'ゥ' ;return 0;
case 'ェ' : out[0] = 'ェ' ;return 0;
case 'ォ' : out[0] = 'ォ' ;return 0;
case 'ャ' : out[0] = 'ャ' ;return 0;
case 'ュ' : out[0] = 'ュ' ;return 0;
case 'ョ' : out[0] = 'ョ' ;return 0;
case 'ッ' : out[0] = 'ッ' ;return 0;
case 'ー' : out[0] = 'ー' ;return 0;
case 'ア' : out[0] = 'ア' ;return 0;
case 'イ' : out[0] = 'イ' ;return 0;
case 'ウ' :
if( type == 1 ) {
out[0] = 'ヴ' ;return 1 ;
}
else{
out[0] = 'ウ' ;return 0;
}
case 'エ' : out[0] = 'エ' ;return 0;
case 'オ' : out[0] = 'オ' ;return 0;
case 'カ' :
if( type == 1 ) {
out[0] = 'ガ' ;return 1 ;
}
else{
out[0] = 'カ' ;return 0;
}
case 'キ' :
if( type == 1 ) {
out[0] = 'ギ' ;return 1 ;
}
else {
out[0] = 'キ' ;return 0;
}
case 'ク' :
if( type == 1 ) {
out[0] = 'グ' ;return 1 ;
}
else {
out[0] = 'ク' ;return 0;
}

case 'ケ' :
if( type == 1 ) {
out[0] = 'ゲ' ;return 1 ;
}
else {
out[0] = 'ケ' ;return 0;
}
case 'コ' :
if( type == 1 ) {
out[0] = 'ゴ' ;return 1 ;
}
else {
out[0] = 'コ' ;return 0;
}
case 'サ' :
if( type == 1 ) {
out[0] = 'ザ' ;return 1 ;
}
else{
out[0] = 'サ' ;return 0;
}
case 'シ' :
if( type == 1 ) {
out[0] = 'ジ' ;return 1 ;
}
else{
out[0] = 'シ' ;return 0;
}
case 'ス' :
if( type == 1 ) {
out[0] = 'ズ' ;return 1 ;
}
else{
out[0] = 'ス' ;return 0;
}
case 'セ' :
if( type == 1 ) {
out[0] = 'ゼ' ;return 1 ;
}
else{
out[0] = 'セ' ;return 0;
}
case 'ソ' :
if( type == 1 ) {
out[0] = 'ゾ' ;return 1 ;
}
else{
out[0] = 'ソ' ;return 0;
}
case 'タ' :
if( type == 1 ) {
out[0] = 'ダ' ;return 1 ;
}
else{
out[0] = 'タ' ;return 0;
}
case 'チ' :
if( type == 1 ) {
out[0] = 'ヂ' ;return 1 ;
}
else{
out[0] = 'チ' ;return 0;
}
case 'ツ' :
if( type == 1 ) {
out[0] = 'ヅ' ;return 1 ;
}
else{
out[0] = 'ツ' ;return 0;
}
case 'テ' :
if( type == 1 ) {
out[0] = 'デ' ;return 1 ;
}
else{
out[0] = 'テ' ;return 0;
}
case 'ト' :
if( type == 1 ) {
out[0] = 'ド' ;return 1 ;
}
else{
out[0] = 'ト' ;return 0;
}
case 'ナ' : out[0] = 'ナ' ;return 0;
case 'ニ' : out[0] = 'ニ' ;return 0;
case 'ヌ' : out[0] = 'ヌ' ;return 0;
case 'ネ' : out[0] = 'ネ' ;return 0;
case 'ノ' : out[0] = 'ノ' ;return 0;
case 'ハ' :
if( type == 1 ) {
out[0] = 'バ' ;return 1 ;
}
else if( type == 2 ) {
out[0] = 'パ' ;return 1 ;
}
else{
out[0] = 'ハ' ;return 0;
}
case 'ヒ' :
if( type == 1 ) {
out[0] = 'ビ' ;return 1 ;
}
else if( type == 2 ) {
out[0] = 'ピ' ;return 1 ;
}
else{
out[0] = 'ヒ' ;return 0;
}
case 'フ' :
if( type == 1 ) {
out[0] = 'ブ' ;return 1 ;
}
else if( type == 2 ) {
out[0] = 'プ' ;return 1 ;
}
else{
out[0] = 'フ' ;return 0;
}
case 'ヘ' :
if( type == 1 ) {
out[0] = 'ベ' ;return 1 ;
}
else if( type == 2 ) {
out[0] = 'ペ' ;return 1 ;
}
else{
out[0] = 'ヘ' ;return 0;
}
case 'ホ' :
if( type == 1 ) {
out[0] = 'ボ' ;return 1 ;
}
else if( type == 2 ) {
out[0] = 'ポ' ;return 1 ;
}
else{
out[0] = 'ホ' ;return 0;
}
case 'マ' : out[0] = 'マ' ;return 0;
case 'ミ' : out[0] = 'ミ' ;return 0;
case 'ム' : out[0] = 'ム' ;return 0;
case 'メ' : out[0] = 'メ' ;return 0;
case 'モ' : out[0] = 'モ' ;return 0;
case 'ヤ' : out[0] = 'ヤ' ;return 0;
case 'ユ' : out[0] = 'ユ' ;return 0;
case 'ヨ' : out[0] = 'ヨ' ;return 0;
case 'ラ' : out[0] = 'ラ' ;return 0;
case 'リ' : out[0] = 'リ' ;return 0;
case 'ル' : out[0] = 'ル' ;return 0;
case 'レ' : out[0] = 'レ' ;return 0;
case 'ロ' : out[0] = 'ロ' ;return 0;
case 'ワ' : out[0] = 'ワ' ;return 0;
case 'ヲ' : out[0] = 'ヲ' ;return 0;
case 'ン' : out[0] = 'ン' ;return 0;
case '゙' : out[0] = '゙' ;return 0;
case '゚' : out[0] = '゚' ;return 0;
}
}
out[0] = code ;
return 0 ;
}
}

 - 開発