package util;
public class DscConvertUtil {
public DscConvertUtil() {
}
// 全角和半角转换
/*半角转换为全角*/
public static String DBC2SBC(String str) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c >= 65281 && c < 65373) {
sb.append(c);
}
else {
sb.append( (char) (c + 65248));
}
}
return sb.toString();
}
/*全角转换为半角*/
public static String SBC2DBC(String str) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c >= 65281 && c < 65373) {
sb.append( (char) (c - 65248));
}
else {
sb.append(c);
}
}
return sb.toString();
}
}
下面是C#的
//半角转全角:
string bjStr = "banjiao字符";
char[] charList = bjStr.ToCharArray();
for (int i = 0; i < charList.Length; i ++)
{
byte[] b = System.Text.Encoding.Unicode.GetBytes(charList,i,1);
if (b.Length == 2)
{
if (b[1] == 0)
{
b[0] = (byte)(b[0]-32);
b[1] = 255;
charList[i] = System.Text.Encoding.Unicode.GetChars(b)[0];
}
}
}
string strNew = new string(charList);
//全角转半角:
string qjStr = "quanjiao字符";
charList = qjStr.ToCharArray();
for (int i = 0; i < charList.Length; i ++)
{
byte[] b = System.Text.Encoding.Unicode.GetBytes(charList,i,1);
if (b.Length == 2)
{
if (b[1] == 255)
{
b[0]=(byte)(b[0]+32);
b[1]=0;
charList[i]=System.Text.Encoding.Unicode.GetChars(b)[0];
}
}
}
strNew = new string(charList);