1. 程式人生 > >Java將字串中的全形字元轉成對應的半形字元

Java將字串中的全形字元轉成對應的半形字元

package com.hung.test;

/**
 * 全形轉半形
 * @author hung
 *
 */
public class MyQB {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String qs = "1 2	3·4657890qazwsxedcrfvtgbyhnujmkilo,。、;‘’\】【";
		String rqs = Q2BChange(qs,true);
		System.out.println(qs + "\n" + rqs);
		
	}

	private static String Q2BChange(String input,boolean flag) {
		String result = "";
		char[] str = input.toCharArray();
		for(int i=0;i<str.length;i++ ){
			int code = str[i];//獲取當前字元的unicode編碼
			 if (code >= 65281 && code <= 65373)//在這個unicode編碼範圍中的是所有的英文字母以及各種字元
			  {
			   result +=(char)(str[i] - 65248);//把全形字元的unicode編碼轉換為對應半形字元的unicode碼
			  }else if (code == 12288)//空格
			  {
			   result +=(char)(str[i] - 12288 + 32);
			  }else if(code == 65377){
				  result +=(char)(12290);
			  }else if(code == 12539){
				  result +=(char)(183);
			  }else if(code == 8482 && flag==true){//如果是特殊字元TM 並且是需要轉換的所作操作
			  	
			  }else if(code ==8226){ //特殊字元 ‘·’的轉化
				  result += (char)(183);
			  }else{
			   result += str[i];
			  }
		}
		
		return result;
	}

}

 

原文連結:https://blog.csdn.net/q821424508/article/details/46564357#