日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

全角半角字符互换

發布時間:2023/12/16 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全角半角字符互换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在轉換全角字符和半角字符之前,需要弄清楚全角與半角字符的定義。

全角字符:是指一個字符占用了兩個標準字符的位置。漢字字符和規定了全角的英文字符及國標GB2312-1980中的圖形符號和特殊的字符都是全角字符。

半角字符:是指一個字符占用一個標準的字符的位置,通常的英文,數字,符號都是半角的,半角通常的顯示碼通常都是一個字節。

注意:全角空格為12288,半角空格為32

半角字符的取值:33-126

全角字符的取值:65281-65373

全角與半角的對應關系是:均相差65248

下面是具體的全角字符轉換半角字符

View Code 1 protected void Page_Load(object sender, EventArgs e)
2 {
3 string str = "asdfghj123456678!@#!$@$%";
4 Response.Write("原字符:"+str+"<br/>");
5 Response.Write("半角:"+aToh(str)+ "<br/>");
6 }
7 /// <summary>
8 /// 判斷字符是否英文半角字符或標點
9 /// </summary>
10 /// <param name="c">字符</param>
11 /// <returns></returns>
12 public static bool IsHalfChar(char c)
13 {
14 int i = (int)c;
15 return i >= 32 && i <= 126;
16 }
17
18 /// <summary>
19 /// 判斷字符是否為全角字符或標點
20 /// </summary>
21 /// <param name="s"></param>
22 /// <returns></returns>
23 public static bool IsAllChar(char c)
24 {
25 if (c == '\u3000') return true;
26 int i = (int)c - 65248;
27 if (i < 32) return false;
28 return IsHalfChar((char)i);
29 }
30
31 /// <summary>
32 /// 將輸入的所有字符轉換成半角字符
33 /// </summary>
34 /// <param name="s"></param>
35 /// <returns></returns>
36 public static string aToh(string s)
37 {
38 if (string.IsNullOrEmpty(s)) return s;
39 StringBuilder sbStr = new StringBuilder(s.Length);
40 for (int i = 0; i < s.Length; i++)
41 {
42 if (s[i] == '\u3000')
43 sbStr.Append('\u0020');
44 else if (IsAllChar(s[i]))
45 sbStr.Append((char)((int)s[i] - 65248));
46 else
47 sbStr.Append(s[i]);
48 }
49 return sbStr.ToString();
50 }

?

轉載于:https://www.cnblogs.com/zhanghonjiang2011/archive/2012/03/06/2382139.html

總結

以上是生活随笔為你收集整理的全角半角字符互换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。