`
ddandyy
  • 浏览: 211589 次
  • 性别: Icon_minigender_1
  • 来自: 目前上海
社区版块
存档分类
最新评论

半角全角

阅读更多
	public static String halfToFullWidth(Object halfWidthObj) throws ConfigurationException {		
		String halfStr = "";
		StringBuffer fullStr = new StringBuffer();
		if (null == halfWidthObj) {
			return "";
		}
		else {
			halfStr = halfWidthObj.toString();
		}		
		getConfig();
		
		// half2fullファイルから全角文字を取得する
		for (int i = 0; i < halfStr.length(); i++) {
			char indexChr = halfStr.charAt(i);
			if ((" ").equals(String.valueOf(indexChr))) {
				fullStr.append("\u3000");
				continue;
			}

			if (("=").equals(String.valueOf(indexChr))) {
				fullStr.append("\uff1d");
				continue;
			}
			
			if (("#").equals(String.valueOf(indexChr))) {
				fullStr.append("\uff03");
				continue;
			}
			
			String fullStrOne = (String) config.getProperty(String.valueOf(indexChr));
			if (i < halfStr.length() - 1) {				
				String fullStrTwo = (String) config.getProperty(String.valueOf(indexChr)+String.valueOf(halfStr.charAt(i+1)));
				if (fullStrTwo != null) {
					fullStrOne = fullStrTwo;
					i++;
				}
			}
			if (null != fullStrOne && !("").equals(fullStrOne)) {
				fullStr.append(fullStrOne);
			}
			else {
				fullStr.append(String.valueOf(indexChr));
			}

		}
		return fullStr.toString();
	}		



以下JS来自 http://www.trickpalace.net/tools/width.htm
引用
<HTML>
<!--***************************************************************************
TrickPalace
全角⇔半角変換 - string tools - tools - TrickPalace
Copyright(C) 2002 Wraith. All rights reserved.
Generated by PalaceMaster.
****************************************************************************-->
<!--Tab幅を4文字に設定して表示させてください。-->
<HEAD>
<TITLE>全角⇔半角変換 - string tools - tools - TrickPalace</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=shift_jis">
<META name="generator" content="PalaceMaster">
<META name="author" content="Wraith the Trickster">
<META name="copyright" content="Copyright(C) 2002 Wraith the Trickster">
<LINK rel="StyleSheet" type="text/css" href="/palace.css">
<!--[if IE]><LINK rel="StyleSheet" type="text/css" href="/palacex.css" media="screen"><![endif]-->
</HEAD>
<BODY><A name="Head"></A>

<!--***************************************************************************
Header Part
****************************************************************************-->
<DIV class="header">
<A class="title" href="/">TrickPalace</A>
<OL class="location"><LI><A href="/">http://www.trickpalace.net/</A></LI><LI><A href="/tools/">tools/</A></LI><LI>width.htm</LI></OL>
</DIV>

<!--***************************************************************************
Body Part
****************************************************************************-->
<DIV class="body">
<H1>string tools</H1>

<H2>全角⇔半角変換</H2>

<SCRIPT language="JavaScript"><!--
// --></SCRIPT>
<SCRIPT language="VBScript"><!--

' 全角半角変換用文字列定数

Const FullKana = "。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゛゜"
Const HalfKana = "。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚"

Const FullKana2 = "ヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ"
Const HalfKana2 = "ヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ"

Const FullAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
Const HalfAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

Const FullNumber = "0123456789"
Const HalfNumber = "0123456789"

Const FullSymbol = " !”#$%&’()*+,-./:;<=>?@[¥]^_‘{|}~"
Const HalfSymbol = " !""#$%&'()*+,-./:;<=>?@[\]^_`{|}~"

' 大文字小文字変換用文字列定数

Const UpperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
Const LowerCase = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"

' ひらがなカタカナ変換用文字列定数

Const HiraKana = "をぁぃぅぇぉゃゅょっあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわんゐゑ"
Const HiraKana2 = "がぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽ"
Const HiraKana3 = "う゛"
Const KataKana = "ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワンヰヱ"
Const KataKana2 = "ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ"
Const KataKana3 = "ヴ"
Const KataKana4 = "ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン"
Const KataKana5 = "ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ"

Function TranslateString(OriginalString, strSource, strDestination)
Dim strResult
strResult = OriginalString

Dim nLength
nLength = Len(strSource)
Dim i
For i = 1 To nLength
strResult = Replace(strResult, Mid(strSource, i, 1), Mid(strDestination, i, 1))
Next

TranslateString = strResult
End Function

Function EncodeWKana(OriginalString)
Dim strResult
strResult = OriginalString
If chkWKana.checked Then

strResult = TranslateString(strResult, FullKana, HalfKana)

Dim nLength
nLength = Len(FullKana2)
Dim i
For i = 1 To nLength
strResult = Replace(strResult, Mid(FullKana2, i, 1), Mid(HalfKana2, ((i -1) *2) +1, 2))
Next

End If
EncodeWKana = strResult
End Function

Function EncodeWAlphabet(OriginalString)
Dim strResult
strResult = OriginalString
If chkWAlphabet.checked Then
strResult = TranslateString(strResult, FullAlphabet, HalfAlphabet)
End If
EncodeWAlphabet = strResult
End Function

Function EncodeWNumber(OriginalString)
Dim strResult
strResult = OriginalString
If chkWNumber.checked Then
strResult = TranslateString(strResult, FullNumber, HalfNumber)
End If
EncodeWNumber = strResult
End Function

Function EncodeWSymbol(OriginalString)
Dim strResult
strResult = OriginalString
If chkWSymbol.checked Then
strResult = TranslateString(strResult, FullSymbol, HalfSymbol)
End If
EncodeWSymbol = strResult
End Function

Function EncodeCase(OriginalString)
Dim strResult
strResult = OriginalString
If chkCase.checked Then
strResult = TranslateString(strResult, UpperCase, LowerCase)
End If
EncodeCase = strResult
End Function

Function EncodeKana(OriginalString)
Dim strResult
strResult = OriginalString
If chkKana.checked Then

strResult = Replace(strResult, HiraKana3, KanaKana3)
strResult = TranslateString(strResult, HiraKana, KataKana)
strResult = TranslateString(strResult, HiraKana2, KataKana2)

End If
EncodeKana = strResult
End Function

Function DecodeWKana(OriginalString)
Dim strResult
strResult = OriginalString
If chkWKana.checked Then

Dim nLength
nLength = Len(FullKana2)
Dim i
For i = 1 To nLength
strResult = Replace(strResult, Mid(HalfKana2, ((i -1) *2) +1, 2), Mid(FullKana2, i, 1))
Next

strResult = TranslateString(strResult, HalfKana, FullKana)

End If
DecodeWKana = strResult
End Function

Function DecodeWAlphabet(OriginalString)
Dim strResult
strResult = OriginalString
If chkWAlphabet.checked Then
strResult = TranslateString(strResult, HalfAlphabet, FullAlphabet)
End If
DecodeWAlphabet = strResult
End Function

Function DecodeWNumber(OriginalString)
Dim strResult
strResult = OriginalString
If chkWNumber.checked Then
strResult = TranslateString(strResult, HalfNumber, FullNumber)
End If
DecodeWNumber = strResult
End Function

Function DecodeWSymbol(OriginalString)
Dim strResult
strResult = OriginalString
If chkWSymbol.checked Then
strResult = TranslateString(strResult, HalfSymbol, FullSymbol)
End If
DecodeWSymbol = strResult
End Function

Function DecodeCase(OriginalString)
Dim strResult
strResult = OriginalString
If chkCase.checked Then
strResult = TranslateString(strResult, LowerCase, UpperCase)
End If
DecodeCase = strResult
End Function

Function DecodeKana(OriginalString)
Dim strResult
strResult = OriginalString
If chkKana.checked Then

Dim nLength
nLength = Len(HiraKana2)
Dim i
For i = 1 To nLength
strResult = Replace(strResult, Mid(KataKana5, ((i -1) *2) +1, 2), Mid(HiraKana2, i, 1))
Next

strResult = TranslateString(strResult, KataKana, HiraKana)
strResult = TranslateString(strResult, KataKana2, HiraKana2)
strResult = Replace(strResult, KanaKana3, HiraKana3)
strResult = TranslateString(strResult, KataKana4, HiraKana)

End If
DecodeKana = strResult
End Function

Function EncodeString(OriginalString)
Dim strResult
strResult = OriginalString
strResult = EncodeCase(strResult)
strResult = EncodeKana(strResult)
strResult = EncodeWKana(strResult)
strResult = EncodeWAlphabet(strResult)
strResult = EncodeWNumber(strResult)
strResult = EncodeWSymbol(strResult)
EncodeString = strResult
End Function

Function DecodeString(OriginalString)
Dim strResult
strResult = OriginalString
strResult = DecodeWKana(strResult)
strResult = DecodeWAlphabet(strResult)
strResult = DecodeWNumber(strResult)
strResult = DecodeWSymbol(strResult)
strResult = DecodeCase(strResult)
strResult = DecodeKana(strResult)
DecodeString = strResult
End Function

' --></SCRIPT>
<DIV id="divExchange" style="display:none"></DIV>
<TABLE width="470" align="CENTER">
<TR>
<TD colspan="2">option : </TD>
</TR>
<TR>
<TD colspan="2">
<INPUT TYPE="CHECKBOX" id="chkWKana" checked><label for="chkWKana">カタカナ</label>
<INPUT TYPE="CHECKBOX" id="chkWAlphabet" checked><label for="chkWAlphabet">Alphabet</label>
<INPUT TYPE="CHECKBOX" id="chkWNumber" checked><label for="chkWNumber">数字</label>
<INPUT TYPE="CHECKBOX" id="chkWSymbol" checked><label for="chkWSymbol">記号</label><BR>
<INPUT TYPE="CHECKBOX" id="chkCase"><label for="chkCase">大文字⇔小文字</label>
<INPUT TYPE="CHECKBOX" id="chkKana"><label for="chkKana">ひらがな⇔カタカナ</label>
</TD>
</TR>
<TR>
<TD colspan="2">全角文字列 : </TD>
</TR>
<TR>
<TD colspan="2"><TEXTAREA id="txtDecode" class="TEXT" style="{width:100%;height:120px}" onPropertyChange="btnEscape.disabled=0==txtDecode.value.length">
。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゛゜
。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚
ヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ
ヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
0123456789
0123456789
 !”#$%&’()*+,-./:;<=>?@[¥]^_‘{|}~
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
をぁぃぅぇぉゃゅょっあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわんゐゑ
がぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽ
う゛
ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワンヰヱ
ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ

ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン
ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ
</TEXTAREA></TD>
</TR>
<TR>
<TD><BUTTON id="btnEscape" onClick="txtEncode.value=EncodeString(txtDecode.value);" style="width:100%">▼ 全角→半角変換 ▼</BUTTON></TD>
<TD><BUTTON id="btnUnescape" onClick="txtDecode.value=DecodeString(txtEncode.value);" style="width:100%">▲ 半角→全角変換 ▲</BUTTON></TD>
</TR>
<TR>
<TD colspan="2">半角文字列 : </TD>
</TR>
<TR>
<TD colspan="2"><TEXTAREA id="txtEncode" class="TEXT" style="{width:100%;height:120px}" onPropertyChange="btnUnescape.disabled=0==txtEncode.value.length"></TEXTAREA></TD>
</TR>
</TABLE>

</DIV>

<!--***************************************************************************
Footer Part
****************************************************************************-->
<DIV class="footer">
<A class="title" href="/">TrickPalace</A>
<OL class="location"><LI><A href="/">http://www.trickpalace.net/</A></LI><LI><A href="/tools/">tools/</A></LI><LI>width.htm</LI></OL>
</DIV>

</BODY>
<!--***************************************************************************
□■□■                  Wraith the Trickster                  □■□■
■□■□ ~I'll go with heaven's advantage and fool's wisdom.~ ■□■□
****************************************************************************-->
</HTML>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics