日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

关于全角半角转换(转)

發(fā)布時(shí)間:2025/3/15 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于全角半角转换(转) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

見(jiàn)諒未能注明出處:

1 第一種方法: 2 /** 3 * 特殊字符串轉(zhuǎn)換 4 * @Class Name FullCharConverter 5 * @Author v-jiangwei 6 * @Create In 2012-8-24 7 */ 8 public class FullCharConverter { 9 10 /** 11 * 全角轉(zhuǎn)半角的 轉(zhuǎn)換函數(shù) 12 * @Methods Name full2HalfChange 13 * @Create In 2012-8-24 By v-jiangwei 14 * @param QJstr 15 * @return String 16 */ 17 public static final String full2HalfChange(String QJstr) 18 { 19 StringBuffer outStrBuf = new StringBuffer(""); 20 String Tstr = ""; 21 byte[] b = null; 22 for (int i = 0; i < QJstr.length(); i++) { 23 Tstr = QJstr.substring(i, i + 1); 24 // 全角空格轉(zhuǎn)換成半角空格 25 if (Tstr.equals(" ")) { 26 outStrBuf.append(" "); 27 continue; 28 } 29 try { 30 b = Tstr.getBytes("unicode"); 31 // 得到 unicode 字節(jié)數(shù)據(jù) 32 if (b[2] == -1) { 33 // 表示全角 34 b[3] = (byte) (b[3] + 32); 35 b[2] = 0; 36 outStrBuf.append(new String(b, "unicode")); 37 } else { 38 outStrBuf.append(Tstr); 39 } 40 } catch (UnsupportedEncodingException e) { 41 // TODO Auto-generated catch block 42 e.printStackTrace(); 43 } 44 45 } // end for. 46 return outStrBuf.toString(); 47 48 49 } 50 51 52 53 /** 54 * 半角轉(zhuǎn)全角 55 * @Methods Name half2Fullchange 56 * @Create In 2012-8-24 By v-jiangwei 57 * @param QJstr 58 * @return String 59 */ 60 public static final String half2Fullchange(String QJstr) 61 { 62 StringBuffer outStrBuf = new StringBuffer(""); 63 String Tstr = ""; 64 byte[] b = null; 65 for (int i = 0; i < QJstr.length(); i++) { 66 Tstr = QJstr.substring(i, i + 1); 67 if (Tstr.equals(" ")) { 68 // 半角空格 69 outStrBuf.append(Tstr); 70 continue; 71 } 72 try { 73 b = Tstr.getBytes("unicode"); 74 if (b[2] == 0) { 75 // 半角 76 b[3] = (byte) (b[3] - 32); 77 b[2] = -1; 78 outStrBuf.append(new String(b, "unicode")); 79 } else { 80 outStrBuf.append(Tstr); 81 } 82 return outStrBuf.toString(); 83 } catch (UnsupportedEncodingException e) { 84 // TODO Auto-generated catch block 85 e.printStackTrace(); 86 } 87 88 } 89 return outStrBuf.toString(); 90 } 91 92 93 /** 94 * @Methods Name main 95 * @Create In 2012-8-24 By v-jiangwei 96 * @param args 97 * void 98 */ 99 public static void main(String[] args) { 100 // TODO Auto-generated method stub 101 String QJstr = "814鄉(xiāng)道"; 102 String result = FullCharConverter.full2HalfChange(QJstr); 103 System.out.println(QJstr); 104 System.out.println(result); 105 System.out.println("------------------------------------"); 106 // 半角轉(zhuǎn)全角 107 String str = "G45大廣高速"; 108 System.out.println(str); 109 System.out.println(FullCharConverter.half2Fullchange(str)); 110 } 111 112 113 } 114 第二種方法: 115 /** 116 * 半角轉(zhuǎn)全角 117 * @param input String. 118 * @return 全角字符串. 119 */ 120 public static String ToSBC(String input) { 121 char c[] = input.toCharArray(); 122 for (int i = 0; i < c.length; i++) { 123 if (c[i] == ' ') { 124 c[i] = '\u3000'; 125 } else if (c[i] < '\177') { 126 c[i] = (char) (c[i] + 65248); 127 128 129 } 130 } 131 return new String(c); 132 } 133 134 /** 135 * 全角轉(zhuǎn)半角 136 * @param input String. 137 * @return 半角字符串 138 */ 139 public static String ToDBC(String input) { 140 char c[] = input.toCharArray(); 141 for (int i = 0; i < c.length; i++) { 142 if (c[i] == '\u3000') { 143 c[i] = ' '; 144 } else if (c[i] > '\uFF00' && c[i] < '\uFF5F') { 145 c[i] = (char) (c[i] - 65248); 146 147 148 } 149 } 150 String returnString = new String(c); 151 return returnString; 152 } 153 public static void main(String[] args) { 154 String QJstr = "G45大廣高速"; 155 String result = StringUtil.ToDBC(QJstr); 156 System.out.println(result); 157 158 }

這里面對(duì)第一種說(shuō)明下,對(duì)于一個(gè)字符,當(dāng)轉(zhuǎn)換為unicode編碼時(shí)候,所對(duì)應(yīng)的byte數(shù)組,第三個(gè)值對(duì)應(yīng)0或者1,0代表半角,1代表全角

轉(zhuǎn)載于:https://www.cnblogs.com/shizhongtao/p/3957717.html

總結(jié)

以上是生活随笔為你收集整理的关于全角半角转换(转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。